import java.util.*;

import static java.lang.System.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();

        int[] a = new int[N];
        for (int i = 0; i < N; i++) {
            a[i] = sc.nextInt();
        }

        int[] rate = new int[]{400, 800, 1200, 1600, 2000, 2400, 2800, 3200};
        boolean[] exist = new boolean[8];
        int master = 0; //3200以上の人数

        for (int i = 0; i < N; i++) {
            if (a[i] >= 3200) {
                master++;
                continue;
            }

            for (int j = 0; j < rate.length; j++) {
                if (a[i] < rate[j]) {
                    exist[j] = true;
                    break;
                }
            }
        }

        int min = 0;
        for (int i = 0; i < exist.length; i++) {
            if (exist[i]) {
                min++;
            }
        }
        int max = min + master;

        if (min == 0) { //全員master
            min = 1;
        }

        out.print(min + " " + max);
    }
} import java.util.*; util.* java import static java.lang.System.*; import static java.lang.System.*; import static java.lang.System.*; public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();

        int[] a = new int[N];
        for (int i = 0; i < N; i++) {
            a[i] = sc.nextInt();
        }

        int[] rate = new int[]{400, 800, 1200, 1600, 2000, 2400, 2800, 3200};
        boolean[] exist = new boolean[8];
        int master = 0; //3200以上の人数

        for (int i = 0; i < N; i++) {
            if (a[i] >= 3200) {
                master++;
                continue;
            }

            for (int j = 0; j < rate.length; j++) {
                if (a[i] < rate[j]) {
                    exist[j] = true;
                    break;
                }
            }
        }

        int min = 0;
        for (int i = 0; i < exist.length; i++) {
            if (exist[i]) {
                min++;
            }
        }
        int max = min + master;

        if (min == 0) { //全員master
            min = 1;
        }

        out.print(min + " " + max);
    }
} Main public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();

        int[] a = new int[N];
        for (int i = 0; i < N; i++) {
            a[i] = sc.nextInt();
        }

        int[] rate = new int[]{400, 800, 1200, 1600, 2000, 2400, 2800, 3200};
        boolean[] exist = new boolean[8];
        int master = 0; //3200以上の人数

        for (int i = 0; i < N; i++) {
            if (a[i] >= 3200) {
                master++;
                continue;
            }

            for (int j = 0; j < rate.length; j++) {
                if (a[i] < rate[j]) {
                    exist[j] = true;
                    break;
                }
            }
        }

        int min = 0;
        for (int i = 0; i < exist.length; i++) {
            if (exist[i]) {
                min++;
            }
        }
        int max = min + master;

        if (min == 0) { //全員master
            min = 1;
        }

        out.print(min + " " + max);
    } main {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();

        int[] a = new int[N];
        for (int i = 0; i < N; i++) {
            a[i] = sc.nextInt();
        }

        int[] rate = new int[]{400, 800, 1200, 1600, 2000, 2400, 2800, 3200};
        boolean[] exist = new boolean[8];
        int master = 0; //3200以上の人数

        for (int i = 0; i < N; i++) {
            if (a[i] >= 3200) {
                master++;
                continue;
            }

            for (int j = 0; j < rate.length; j++) {
                if (a[i] < rate[j]) {
                    exist[j] = true;
                    break;
                }
            }
        }

        int min = 0;
        for (int i = 0; i < exist.length; i++) {
            if (exist[i]) {
                min++;
            }
        }
        int max = min + master;

        if (min == 0) { //全員master
            min = 1;
        }

        out.print(min + " " + max);
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc int[] a = new int[N]; a new int[N] N for (int i = 0; i < N; i++) {
            a[i] = sc.nextInt();
        } int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
            a[i] = sc.nextInt();
        } {
            a[i] = sc.nextInt();
        } a[i] = sc.nextInt() a[i] a i sc.nextInt() sc.nextInt sc int[] rate = new int[]{400, 800, 1200, 1600, 2000, 2400, 2800, 3200}; rate new int[]{400, 800, 1200, 1600, 2000, 2400, 2800, 3200} boolean[] exist = new boolean[8]; exist new boolean[8] 8 int master = 0; master 0 for (int i = 0; i < N; i++) {
            if (a[i] >= 3200) {
                master++;
                continue;
            }

            for (int j = 0; j < rate.length; j++) {
                if (a[i] < rate[j]) {
                    exist[j] = true;
                    break;
                }
            }
        } int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
            if (a[i] >= 3200) {
                master++;
                continue;
            }

            for (int j = 0; j < rate.length; j++) {
                if (a[i] < rate[j]) {
                    exist[j] = true;
                    break;
                }
            }
        } {
            if (a[i] >= 3200) {
                master++;
                continue;
            }

            for (int j = 0; j < rate.length; j++) {
                if (a[i] < rate[j]) {
                    exist[j] = true;
                    break;
                }
            }
        } if (a[i] >= 3200) {
                master++;
                continue;
            } a[i] >= 3200 a[i] a i 3200 {
                master++;
                continue;
            } master++ master continue; for (int j = 0; j < rate.length; j++) {
                if (a[i] < rate[j]) {
                    exist[j] = true;
                    break;
                }
            } int j = 0; int j = 0; j 0 j < rate.length j rate.length rate rate.length j++ j++ j {
                if (a[i] < rate[j]) {
                    exist[j] = true;
                    break;
                }
            } {
                if (a[i] < rate[j]) {
                    exist[j] = true;
                    break;
                }
            } if (a[i] < rate[j]) {
                    exist[j] = true;
                    break;
                } a[i] < rate[j] a[i] a i rate[j] rate j {
                    exist[j] = true;
                    break;
                } exist[j] = true exist[j] exist j true break; int min = 0; min 0 for (int i = 0; i < exist.length; i++) {
            if (exist[i]) {
                min++;
            }
        } int i = 0; int i = 0; i 0 i < exist.length i exist.length exist exist.length i++ i++ i {
            if (exist[i]) {
                min++;
            }
        } {
            if (exist[i]) {
                min++;
            }
        } if (exist[i]) {
                min++;
            } exist[i] exist i {
                min++;
            } min++ min int max = min + master; max min + master min master if (min == 0) { //全員master
            min = 1;
        } min == 0 min 0 { //全員master
            min = 1;
        } min = 1 min 1 out.print(min + " " + max) out.print out min + " " + max min + " " + max min " " max String[] args args public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();

        int[] a = new int[N];
        for (int i = 0; i < N; i++) {
            a[i] = sc.nextInt();
        }

        int[] rate = new int[]{400, 800, 1200, 1600, 2000, 2400, 2800, 3200};
        boolean[] exist = new boolean[8];
        int master = 0; //3200以上の人数

        for (int i = 0; i < N; i++) {
            if (a[i] >= 3200) {
                master++;
                continue;
            }

            for (int j = 0; j < rate.length; j++) {
                if (a[i] < rate[j]) {
                    exist[j] = true;
                    break;
                }
            }
        }

        int min = 0;
        for (int i = 0; i < exist.length; i++) {
            if (exist[i]) {
                min++;
            }
        }
        int max = min + master;

        if (min == 0) { //全員master
            min = 1;
        }

        out.print(min + " " + max);
    }
} public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();

        int[] a = new int[N];
        for (int i = 0; i < N; i++) {
            a[i] = sc.nextInt();
        }

        int[] rate = new int[]{400, 800, 1200, 1600, 2000, 2400, 2800, 3200};
        boolean[] exist = new boolean[8];
        int master = 0; //3200以上の人数

        for (int i = 0; i < N; i++) {
            if (a[i] >= 3200) {
                master++;
                continue;
            }

            for (int j = 0; j < rate.length; j++) {
                if (a[i] < rate[j]) {
                    exist[j] = true;
                    break;
                }
            }
        }

        int min = 0;
        for (int i = 0; i < exist.length; i++) {
            if (exist[i]) {
                min++;
            }
        }
        int max = min + master;

        if (min == 0) { //全員master
            min = 1;
        }

        out.print(min + " " + max);
    }
} Main
import java.util.*;

import static java.lang.System.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();

        int[] a = new int[N];
        for (int i = 0; i < N; i++) {
            a[i] = sc.nextInt();
        }

        int[] rate = new int[]{400, 800, 1200, 1600, 2000, 2400, 2800, 3200};
        boolean[] exist = new boolean[8];
        int master = 0; //3200以上の人数

        for (int i = 0; i < N; i++) {
            if (a[i] >= 3200) {
                master++;
                continue;
            }

            for (int j = 0; j < rate.length; j++) {
                if (a[i] < rate[j]) {
                    exist[j] = true;
                    break;
                }
            }
        }

        int min = 0;
        for (int i = 0; i < exist.length; i++) {
            if (exist[i]) {
                min++;
            }
        }
        int max = min + master;

        if (min == 0) { //全員master
            min = 1;
        }

        out.print(min + " " + max);
    }
}