import java.util.Scanner;

/**
 * Created by nakatsukatakahiro on 2017/06/10.
 */
class Main {



    public static void main(String[] args) {
        boolean[] color = new boolean[8];
        int overer = 0;
        Scanner scanner = new Scanner(System.in);

        int N = Integer.parseInt(scanner.next());

        for (int i = 0; i < N; i++) {
            int tmp = Integer.parseInt(scanner.next());
            if (tmp < 400) {
                color[0] = true;
            } else if (tmp < 800) {
                color[1] = true;
            } else if (tmp < 1200) {
                color[2] = true;
            } else if (tmp < 1600) {
                color[3] = true;
            } else if (tmp < 2000) {
                color[4] = true;
            } else if (tmp < 2400) {
                color[5] = true;
            } else if (tmp < 2800) {
                color[6] = true;
            } else if (tmp < 3200) {
                color[7] = true;
            } else {
                overer++;
            }
        }

        int ans = 0;

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

        if (ans == 0) {
            System.out.println(1 + " " + overer);
        } else {
            int maxAns = ans + overer;
            System.out.println(ans + " " + maxAns);
        }

    }
} import java.util.Scanner; Scanner java.util class Main {



    public static void main(String[] args) {
        boolean[] color = new boolean[8];
        int overer = 0;
        Scanner scanner = new Scanner(System.in);

        int N = Integer.parseInt(scanner.next());

        for (int i = 0; i < N; i++) {
            int tmp = Integer.parseInt(scanner.next());
            if (tmp < 400) {
                color[0] = true;
            } else if (tmp < 800) {
                color[1] = true;
            } else if (tmp < 1200) {
                color[2] = true;
            } else if (tmp < 1600) {
                color[3] = true;
            } else if (tmp < 2000) {
                color[4] = true;
            } else if (tmp < 2400) {
                color[5] = true;
            } else if (tmp < 2800) {
                color[6] = true;
            } else if (tmp < 3200) {
                color[7] = true;
            } else {
                overer++;
            }
        }

        int ans = 0;

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

        if (ans == 0) {
            System.out.println(1 + " " + overer);
        } else {
            int maxAns = ans + overer;
            System.out.println(ans + " " + maxAns);
        }

    }
} Main public static void main(String[] args) {
        boolean[] color = new boolean[8];
        int overer = 0;
        Scanner scanner = new Scanner(System.in);

        int N = Integer.parseInt(scanner.next());

        for (int i = 0; i < N; i++) {
            int tmp = Integer.parseInt(scanner.next());
            if (tmp < 400) {
                color[0] = true;
            } else if (tmp < 800) {
                color[1] = true;
            } else if (tmp < 1200) {
                color[2] = true;
            } else if (tmp < 1600) {
                color[3] = true;
            } else if (tmp < 2000) {
                color[4] = true;
            } else if (tmp < 2400) {
                color[5] = true;
            } else if (tmp < 2800) {
                color[6] = true;
            } else if (tmp < 3200) {
                color[7] = true;
            } else {
                overer++;
            }
        }

        int ans = 0;

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

        if (ans == 0) {
            System.out.println(1 + " " + overer);
        } else {
            int maxAns = ans + overer;
            System.out.println(ans + " " + maxAns);
        }

    } main {
        boolean[] color = new boolean[8];
        int overer = 0;
        Scanner scanner = new Scanner(System.in);

        int N = Integer.parseInt(scanner.next());

        for (int i = 0; i < N; i++) {
            int tmp = Integer.parseInt(scanner.next());
            if (tmp < 400) {
                color[0] = true;
            } else if (tmp < 800) {
                color[1] = true;
            } else if (tmp < 1200) {
                color[2] = true;
            } else if (tmp < 1600) {
                color[3] = true;
            } else if (tmp < 2000) {
                color[4] = true;
            } else if (tmp < 2400) {
                color[5] = true;
            } else if (tmp < 2800) {
                color[6] = true;
            } else if (tmp < 3200) {
                color[7] = true;
            } else {
                overer++;
            }
        }

        int ans = 0;

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

        if (ans == 0) {
            System.out.println(1 + " " + overer);
        } else {
            int maxAns = ans + overer;
            System.out.println(ans + " " + maxAns);
        }

    } boolean[] color = new boolean[8]; color new boolean[8] 8 int overer = 0; overer 0 Scanner scanner = new Scanner(System.in); scanner new Scanner(System.in) int N = Integer.parseInt(scanner.next()); N Integer.parseInt(scanner.next()) Integer.parseInt Integer scanner.next() scanner.next scanner for (int i = 0; i < N; i++) {
            int tmp = Integer.parseInt(scanner.next());
            if (tmp < 400) {
                color[0] = true;
            } else if (tmp < 800) {
                color[1] = true;
            } else if (tmp < 1200) {
                color[2] = true;
            } else if (tmp < 1600) {
                color[3] = true;
            } else if (tmp < 2000) {
                color[4] = true;
            } else if (tmp < 2400) {
                color[5] = true;
            } else if (tmp < 2800) {
                color[6] = true;
            } else if (tmp < 3200) {
                color[7] = true;
            } else {
                overer++;
            }
        } int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
            int tmp = Integer.parseInt(scanner.next());
            if (tmp < 400) {
                color[0] = true;
            } else if (tmp < 800) {
                color[1] = true;
            } else if (tmp < 1200) {
                color[2] = true;
            } else if (tmp < 1600) {
                color[3] = true;
            } else if (tmp < 2000) {
                color[4] = true;
            } else if (tmp < 2400) {
                color[5] = true;
            } else if (tmp < 2800) {
                color[6] = true;
            } else if (tmp < 3200) {
                color[7] = true;
            } else {
                overer++;
            }
        } {
            int tmp = Integer.parseInt(scanner.next());
            if (tmp < 400) {
                color[0] = true;
            } else if (tmp < 800) {
                color[1] = true;
            } else if (tmp < 1200) {
                color[2] = true;
            } else if (tmp < 1600) {
                color[3] = true;
            } else if (tmp < 2000) {
                color[4] = true;
            } else if (tmp < 2400) {
                color[5] = true;
            } else if (tmp < 2800) {
                color[6] = true;
            } else if (tmp < 3200) {
                color[7] = true;
            } else {
                overer++;
            }
        } int tmp = Integer.parseInt(scanner.next()); tmp Integer.parseInt(scanner.next()) Integer.parseInt Integer scanner.next() scanner.next scanner if (tmp < 400) {
                color[0] = true;
            } else if (tmp < 800) {
                color[1] = true;
            } else if (tmp < 1200) {
                color[2] = true;
            } else if (tmp < 1600) {
                color[3] = true;
            } else if (tmp < 2000) {
                color[4] = true;
            } else if (tmp < 2400) {
                color[5] = true;
            } else if (tmp < 2800) {
                color[6] = true;
            } else if (tmp < 3200) {
                color[7] = true;
            } else {
                overer++;
            } tmp < 400 tmp 400 {
                color[0] = true;
            } color[0] = true color[0] color 0 true if (tmp < 800) {
                color[1] = true;
            } else if (tmp < 1200) {
                color[2] = true;
            } else if (tmp < 1600) {
                color[3] = true;
            } else if (tmp < 2000) {
                color[4] = true;
            } else if (tmp < 2400) {
                color[5] = true;
            } else if (tmp < 2800) {
                color[6] = true;
            } else if (tmp < 3200) {
                color[7] = true;
            } else {
                overer++;
            } tmp < 800 tmp 800 {
                color[1] = true;
            } color[1] = true color[1] color 1 true if (tmp < 1200) {
                color[2] = true;
            } else if (tmp < 1600) {
                color[3] = true;
            } else if (tmp < 2000) {
                color[4] = true;
            } else if (tmp < 2400) {
                color[5] = true;
            } else if (tmp < 2800) {
                color[6] = true;
            } else if (tmp < 3200) {
                color[7] = true;
            } else {
                overer++;
            } tmp < 1200 tmp 1200 {
                color[2] = true;
            } color[2] = true color[2] color 2 true if (tmp < 1600) {
                color[3] = true;
            } else if (tmp < 2000) {
                color[4] = true;
            } else if (tmp < 2400) {
                color[5] = true;
            } else if (tmp < 2800) {
                color[6] = true;
            } else if (tmp < 3200) {
                color[7] = true;
            } else {
                overer++;
            } tmp < 1600 tmp 1600 {
                color[3] = true;
            } color[3] = true color[3] color 3 true if (tmp < 2000) {
                color[4] = true;
            } else if (tmp < 2400) {
                color[5] = true;
            } else if (tmp < 2800) {
                color[6] = true;
            } else if (tmp < 3200) {
                color[7] = true;
            } else {
                overer++;
            } tmp < 2000 tmp 2000 {
                color[4] = true;
            } color[4] = true color[4] color 4 true if (tmp < 2400) {
                color[5] = true;
            } else if (tmp < 2800) {
                color[6] = true;
            } else if (tmp < 3200) {
                color[7] = true;
            } else {
                overer++;
            } tmp < 2400 tmp 2400 {
                color[5] = true;
            } color[5] = true color[5] color 5 true if (tmp < 2800) {
                color[6] = true;
            } else if (tmp < 3200) {
                color[7] = true;
            } else {
                overer++;
            } tmp < 2800 tmp 2800 {
                color[6] = true;
            } color[6] = true color[6] color 6 true if (tmp < 3200) {
                color[7] = true;
            } else {
                overer++;
            } tmp < 3200 tmp 3200 {
                color[7] = true;
            } color[7] = true color[7] color 7 true {
                overer++;
            } overer++ overer int ans = 0; ans 0 for (int i = 0; i < 8; i++) {
            if (color[i]) {
                ans++;
            }
        } int i = 0; int i = 0; i 0 i < 8 i 8 i++ i++ i {
            if (color[i]) {
                ans++;
            }
        } {
            if (color[i]) {
                ans++;
            }
        } if (color[i]) {
                ans++;
            } color[i] color i {
                ans++;
            } ans++ ans if (ans == 0) {
            System.out.println(1 + " " + overer);
        } else {
            int maxAns = ans + overer;
            System.out.println(ans + " " + maxAns);
        } ans == 0 ans 0 {
            System.out.println(1 + " " + overer);
        } System.out.println(1 + " " + overer) System.out.println System.out System System.out 1 + " " + overer 1 + " " + overer 1 " " overer {
            int maxAns = ans + overer;
            System.out.println(ans + " " + maxAns);
        } int maxAns = ans + overer; maxAns ans + overer ans overer System.out.println(ans + " " + maxAns) System.out.println System.out System System.out ans + " " + maxAns ans + " " + maxAns ans " " maxAns String[] args args
import java.util.Scanner;

/**
 * Created by nakatsukatakahiro on 2017/06/10.
 */
class Main {



    public static void main(String[] args) {
        boolean[] color = new boolean[8];
        int overer = 0;
        Scanner scanner = new Scanner(System.in);

        int N = Integer.parseInt(scanner.next());

        for (int i = 0; i < N; i++) {
            int tmp = Integer.parseInt(scanner.next());
            if (tmp < 400) {
                color[0] = true;
            } else if (tmp < 800) {
                color[1] = true;
            } else if (tmp < 1200) {
                color[2] = true;
            } else if (tmp < 1600) {
                color[3] = true;
            } else if (tmp < 2000) {
                color[4] = true;
            } else if (tmp < 2400) {
                color[5] = true;
            } else if (tmp < 2800) {
                color[6] = true;
            } else if (tmp < 3200) {
                color[7] = true;
            } else {
                overer++;
            }
        }

        int ans = 0;

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

        if (ans == 0) {
            System.out.println(1 + " " + overer);
        } else {
            int maxAns = ans + overer;
            System.out.println(ans + " " + maxAns);
        }

    }
}
