import java.util.Scanner;

class Main {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        int N = sc.nextInt();
        int[] scores = new int[N];
        boolean[] color = new boolean[8];
        int masterCnt = 0;

        for (int i = 0; i < 8; i++) {
            color[i] = false;
        }

        for (int i = 0; i < N; i++) {
            int score = sc.nextInt();

            if (score < 400) {
                color[0] = true;
            } else if (score < 800) {
                color[1] = true;
            } else if (score < 1200) {
                color[2] = true;
            } else if (score < 1600) {
                color[3] = true;
            } else if (score < 2000) {
                color[4] = true;
            } else if (score < 2400) {
                color[5] = true;
            } else if (score < 2800) {
                color[6] = true;
            } else if (score < 3200) {
                color[7] = true;
            } else if (score >= 3200) {
                masterCnt++;
            }
        }

        int cnt = 0;
        int ansMin;
        int ansMax;

        for (boolean bl : color) {
            if (bl)
                cnt++;
        }

        // System.out.println("DEBUG cnt:" + cnt);
        // System.out.println("DEBUG mscnt:" + masterCnt);

        if (cnt >= 1) {
            ansMin = cnt;
        } else {
            ansMin = 1;
        }

        ansMax = cnt + masterCnt;

        System.out.println(ansMin + " " + ansMax);
    }
} import java.util.Scanner; Scanner java.util class Main {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        int N = sc.nextInt();
        int[] scores = new int[N];
        boolean[] color = new boolean[8];
        int masterCnt = 0;

        for (int i = 0; i < 8; i++) {
            color[i] = false;
        }

        for (int i = 0; i < N; i++) {
            int score = sc.nextInt();

            if (score < 400) {
                color[0] = true;
            } else if (score < 800) {
                color[1] = true;
            } else if (score < 1200) {
                color[2] = true;
            } else if (score < 1600) {
                color[3] = true;
            } else if (score < 2000) {
                color[4] = true;
            } else if (score < 2400) {
                color[5] = true;
            } else if (score < 2800) {
                color[6] = true;
            } else if (score < 3200) {
                color[7] = true;
            } else if (score >= 3200) {
                masterCnt++;
            }
        }

        int cnt = 0;
        int ansMin;
        int ansMax;

        for (boolean bl : color) {
            if (bl)
                cnt++;
        }

        // System.out.println("DEBUG cnt:" + cnt);
        // System.out.println("DEBUG mscnt:" + masterCnt);

        if (cnt >= 1) {
            ansMin = cnt;
        } else {
            ansMin = 1;
        }

        ansMax = cnt + masterCnt;

        System.out.println(ansMin + " " + ansMax);
    }
} Main public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        int N = sc.nextInt();
        int[] scores = new int[N];
        boolean[] color = new boolean[8];
        int masterCnt = 0;

        for (int i = 0; i < 8; i++) {
            color[i] = false;
        }

        for (int i = 0; i < N; i++) {
            int score = sc.nextInt();

            if (score < 400) {
                color[0] = true;
            } else if (score < 800) {
                color[1] = true;
            } else if (score < 1200) {
                color[2] = true;
            } else if (score < 1600) {
                color[3] = true;
            } else if (score < 2000) {
                color[4] = true;
            } else if (score < 2400) {
                color[5] = true;
            } else if (score < 2800) {
                color[6] = true;
            } else if (score < 3200) {
                color[7] = true;
            } else if (score >= 3200) {
                masterCnt++;
            }
        }

        int cnt = 0;
        int ansMin;
        int ansMax;

        for (boolean bl : color) {
            if (bl)
                cnt++;
        }

        // System.out.println("DEBUG cnt:" + cnt);
        // System.out.println("DEBUG mscnt:" + masterCnt);

        if (cnt >= 1) {
            ansMin = cnt;
        } else {
            ansMin = 1;
        }

        ansMax = cnt + masterCnt;

        System.out.println(ansMin + " " + ansMax);
    } main {

        Scanner sc = new Scanner(System.in);

        int N = sc.nextInt();
        int[] scores = new int[N];
        boolean[] color = new boolean[8];
        int masterCnt = 0;

        for (int i = 0; i < 8; i++) {
            color[i] = false;
        }

        for (int i = 0; i < N; i++) {
            int score = sc.nextInt();

            if (score < 400) {
                color[0] = true;
            } else if (score < 800) {
                color[1] = true;
            } else if (score < 1200) {
                color[2] = true;
            } else if (score < 1600) {
                color[3] = true;
            } else if (score < 2000) {
                color[4] = true;
            } else if (score < 2400) {
                color[5] = true;
            } else if (score < 2800) {
                color[6] = true;
            } else if (score < 3200) {
                color[7] = true;
            } else if (score >= 3200) {
                masterCnt++;
            }
        }

        int cnt = 0;
        int ansMin;
        int ansMax;

        for (boolean bl : color) {
            if (bl)
                cnt++;
        }

        // System.out.println("DEBUG cnt:" + cnt);
        // System.out.println("DEBUG mscnt:" + masterCnt);

        if (cnt >= 1) {
            ansMin = cnt;
        } else {
            ansMin = 1;
        }

        ansMax = cnt + masterCnt;

        System.out.println(ansMin + " " + ansMax);
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc int[] scores = new int[N]; scores new int[N] N boolean[] color = new boolean[8]; color new boolean[8] 8 int masterCnt = 0; masterCnt 0 for (int i = 0; i < 8; i++) {
            color[i] = false;
        } int i = 0; int i = 0; i 0 i < 8 i 8 i++ i++ i {
            color[i] = false;
        } {
            color[i] = false;
        } color[i] = false color[i] color i false for (int i = 0; i < N; i++) {
            int score = sc.nextInt();

            if (score < 400) {
                color[0] = true;
            } else if (score < 800) {
                color[1] = true;
            } else if (score < 1200) {
                color[2] = true;
            } else if (score < 1600) {
                color[3] = true;
            } else if (score < 2000) {
                color[4] = true;
            } else if (score < 2400) {
                color[5] = true;
            } else if (score < 2800) {
                color[6] = true;
            } else if (score < 3200) {
                color[7] = true;
            } else if (score >= 3200) {
                masterCnt++;
            }
        } int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
            int score = sc.nextInt();

            if (score < 400) {
                color[0] = true;
            } else if (score < 800) {
                color[1] = true;
            } else if (score < 1200) {
                color[2] = true;
            } else if (score < 1600) {
                color[3] = true;
            } else if (score < 2000) {
                color[4] = true;
            } else if (score < 2400) {
                color[5] = true;
            } else if (score < 2800) {
                color[6] = true;
            } else if (score < 3200) {
                color[7] = true;
            } else if (score >= 3200) {
                masterCnt++;
            }
        } {
            int score = sc.nextInt();

            if (score < 400) {
                color[0] = true;
            } else if (score < 800) {
                color[1] = true;
            } else if (score < 1200) {
                color[2] = true;
            } else if (score < 1600) {
                color[3] = true;
            } else if (score < 2000) {
                color[4] = true;
            } else if (score < 2400) {
                color[5] = true;
            } else if (score < 2800) {
                color[6] = true;
            } else if (score < 3200) {
                color[7] = true;
            } else if (score >= 3200) {
                masterCnt++;
            }
        } int score = sc.nextInt(); score sc.nextInt() sc.nextInt sc if (score < 400) {
                color[0] = true;
            } else if (score < 800) {
                color[1] = true;
            } else if (score < 1200) {
                color[2] = true;
            } else if (score < 1600) {
                color[3] = true;
            } else if (score < 2000) {
                color[4] = true;
            } else if (score < 2400) {
                color[5] = true;
            } else if (score < 2800) {
                color[6] = true;
            } else if (score < 3200) {
                color[7] = true;
            } else if (score >= 3200) {
                masterCnt++;
            } score < 400 score 400 {
                color[0] = true;
            } color[0] = true color[0] color 0 true if (score < 800) {
                color[1] = true;
            } else if (score < 1200) {
                color[2] = true;
            } else if (score < 1600) {
                color[3] = true;
            } else if (score < 2000) {
                color[4] = true;
            } else if (score < 2400) {
                color[5] = true;
            } else if (score < 2800) {
                color[6] = true;
            } else if (score < 3200) {
                color[7] = true;
            } else if (score >= 3200) {
                masterCnt++;
            } score < 800 score 800 {
                color[1] = true;
            } color[1] = true color[1] color 1 true if (score < 1200) {
                color[2] = true;
            } else if (score < 1600) {
                color[3] = true;
            } else if (score < 2000) {
                color[4] = true;
            } else if (score < 2400) {
                color[5] = true;
            } else if (score < 2800) {
                color[6] = true;
            } else if (score < 3200) {
                color[7] = true;
            } else if (score >= 3200) {
                masterCnt++;
            } score < 1200 score 1200 {
                color[2] = true;
            } color[2] = true color[2] color 2 true if (score < 1600) {
                color[3] = true;
            } else if (score < 2000) {
                color[4] = true;
            } else if (score < 2400) {
                color[5] = true;
            } else if (score < 2800) {
                color[6] = true;
            } else if (score < 3200) {
                color[7] = true;
            } else if (score >= 3200) {
                masterCnt++;
            } score < 1600 score 1600 {
                color[3] = true;
            } color[3] = true color[3] color 3 true if (score < 2000) {
                color[4] = true;
            } else if (score < 2400) {
                color[5] = true;
            } else if (score < 2800) {
                color[6] = true;
            } else if (score < 3200) {
                color[7] = true;
            } else if (score >= 3200) {
                masterCnt++;
            } score < 2000 score 2000 {
                color[4] = true;
            } color[4] = true color[4] color 4 true if (score < 2400) {
                color[5] = true;
            } else if (score < 2800) {
                color[6] = true;
            } else if (score < 3200) {
                color[7] = true;
            } else if (score >= 3200) {
                masterCnt++;
            } score < 2400 score 2400 {
                color[5] = true;
            } color[5] = true color[5] color 5 true if (score < 2800) {
                color[6] = true;
            } else if (score < 3200) {
                color[7] = true;
            } else if (score >= 3200) {
                masterCnt++;
            } score < 2800 score 2800 {
                color[6] = true;
            } color[6] = true color[6] color 6 true if (score < 3200) {
                color[7] = true;
            } else if (score >= 3200) {
                masterCnt++;
            } score < 3200 score 3200 {
                color[7] = true;
            } color[7] = true color[7] color 7 true if (score >= 3200) {
                masterCnt++;
            } score >= 3200 score 3200 {
                masterCnt++;
            } masterCnt++ masterCnt int cnt = 0; cnt 0 int ansMin; ansMin int ansMax; ansMax for (boolean bl : color) {
            if (bl)
                cnt++;
        } boolean bl color {
            if (bl)
                cnt++;
        } {
            if (bl)
                cnt++;
        } if (bl)
                cnt++; bl cnt++ cnt if (cnt >= 1) {
            ansMin = cnt;
        } else {
            ansMin = 1;
        } cnt >= 1 cnt 1 {
            ansMin = cnt;
        } ansMin = cnt ansMin cnt {
            ansMin = 1;
        } ansMin = 1 ansMin 1 ansMax = cnt + masterCnt ansMax cnt + masterCnt cnt masterCnt System.out.println(ansMin + " " + ansMax) System.out.println System.out System System.out ansMin + " " + ansMax ansMin + " " + ansMax ansMin " " ansMax String[] args args
import java.util.Scanner;

class Main {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        int N = sc.nextInt();
        int[] scores = new int[N];
        boolean[] color = new boolean[8];
        int masterCnt = 0;

        for (int i = 0; i < 8; i++) {
            color[i] = false;
        }

        for (int i = 0; i < N; i++) {
            int score = sc.nextInt();

            if (score < 400) {
                color[0] = true;
            } else if (score < 800) {
                color[1] = true;
            } else if (score < 1200) {
                color[2] = true;
            } else if (score < 1600) {
                color[3] = true;
            } else if (score < 2000) {
                color[4] = true;
            } else if (score < 2400) {
                color[5] = true;
            } else if (score < 2800) {
                color[6] = true;
            } else if (score < 3200) {
                color[7] = true;
            } else if (score >= 3200) {
                masterCnt++;
            }
        }

        int cnt = 0;
        int ansMin;
        int ansMax;

        for (boolean bl : color) {
            if (bl)
                cnt++;
        }

        // System.out.println("DEBUG cnt:" + cnt);
        // System.out.println("DEBUG mscnt:" + masterCnt);

        if (cnt >= 1) {
            ansMin = cnt;
        } else {
            ansMin = 1;
        }

        ansMax = cnt + masterCnt;

        System.out.println(ansMin + " " + ansMax);
    }
}
