import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import static java.lang.System.in;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(in));
        int N = Integer.parseInt(reader.readLine());
        String[] inputs = reader.readLine().split(" ");
        boolean[] colors = new boolean[8];
        int above3200 = 0;
        for (int i = 0; i < N; i++) {
            int rate = Integer.parseInt(inputs[i]);
            if(rate <= 399) {
                colors[0] = true;
            } else if (rate <= 799) {
                colors[1] = true;
            } else if (rate <= 1199) {
                colors[2] = true;
            } else if (rate <= 1599) {
                colors[3] = true;
            } else if (rate <= 1999) {
                colors[4] = true;
            } else if (rate <= 2399) {
                colors[5] = true;
            } else if (rate <= 2799) {
                colors[6] = true;
            } else if (rate <= 3199) {
                colors[7] = true;
            } else {
                above3200 +=1;
            }
        }

        int count = 0;
        for (int i = 0; i < 8; i++) {
            if(colors[i]) {
                count += 1;
            }
        }
        int min = count;
        if(count == 0 && above3200 > 0) {
            min += 1;
        }
        int max = count + above3200;
        System.out.println(min + " " + max);
    }
} import java.io.BufferedReader; BufferedReader java.io import java.io.IOException; IOException java.io import java.io.InputStreamReader; InputStreamReader java.io import static java.lang.System.in; import static java.lang.System.in; import static java.lang.System.in; public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(in));
        int N = Integer.parseInt(reader.readLine());
        String[] inputs = reader.readLine().split(" ");
        boolean[] colors = new boolean[8];
        int above3200 = 0;
        for (int i = 0; i < N; i++) {
            int rate = Integer.parseInt(inputs[i]);
            if(rate <= 399) {
                colors[0] = true;
            } else if (rate <= 799) {
                colors[1] = true;
            } else if (rate <= 1199) {
                colors[2] = true;
            } else if (rate <= 1599) {
                colors[3] = true;
            } else if (rate <= 1999) {
                colors[4] = true;
            } else if (rate <= 2399) {
                colors[5] = true;
            } else if (rate <= 2799) {
                colors[6] = true;
            } else if (rate <= 3199) {
                colors[7] = true;
            } else {
                above3200 +=1;
            }
        }

        int count = 0;
        for (int i = 0; i < 8; i++) {
            if(colors[i]) {
                count += 1;
            }
        }
        int min = count;
        if(count == 0 && above3200 > 0) {
            min += 1;
        }
        int max = count + above3200;
        System.out.println(min + " " + max);
    }
} Main public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(in));
        int N = Integer.parseInt(reader.readLine());
        String[] inputs = reader.readLine().split(" ");
        boolean[] colors = new boolean[8];
        int above3200 = 0;
        for (int i = 0; i < N; i++) {
            int rate = Integer.parseInt(inputs[i]);
            if(rate <= 399) {
                colors[0] = true;
            } else if (rate <= 799) {
                colors[1] = true;
            } else if (rate <= 1199) {
                colors[2] = true;
            } else if (rate <= 1599) {
                colors[3] = true;
            } else if (rate <= 1999) {
                colors[4] = true;
            } else if (rate <= 2399) {
                colors[5] = true;
            } else if (rate <= 2799) {
                colors[6] = true;
            } else if (rate <= 3199) {
                colors[7] = true;
            } else {
                above3200 +=1;
            }
        }

        int count = 0;
        for (int i = 0; i < 8; i++) {
            if(colors[i]) {
                count += 1;
            }
        }
        int min = count;
        if(count == 0 && above3200 > 0) {
            min += 1;
        }
        int max = count + above3200;
        System.out.println(min + " " + max);
    } main {
        BufferedReader reader = new BufferedReader(new InputStreamReader(in));
        int N = Integer.parseInt(reader.readLine());
        String[] inputs = reader.readLine().split(" ");
        boolean[] colors = new boolean[8];
        int above3200 = 0;
        for (int i = 0; i < N; i++) {
            int rate = Integer.parseInt(inputs[i]);
            if(rate <= 399) {
                colors[0] = true;
            } else if (rate <= 799) {
                colors[1] = true;
            } else if (rate <= 1199) {
                colors[2] = true;
            } else if (rate <= 1599) {
                colors[3] = true;
            } else if (rate <= 1999) {
                colors[4] = true;
            } else if (rate <= 2399) {
                colors[5] = true;
            } else if (rate <= 2799) {
                colors[6] = true;
            } else if (rate <= 3199) {
                colors[7] = true;
            } else {
                above3200 +=1;
            }
        }

        int count = 0;
        for (int i = 0; i < 8; i++) {
            if(colors[i]) {
                count += 1;
            }
        }
        int min = count;
        if(count == 0 && above3200 > 0) {
            min += 1;
        }
        int max = count + above3200;
        System.out.println(min + " " + max);
    } BufferedReader reader = new BufferedReader(new InputStreamReader(in)); reader new BufferedReader(new InputStreamReader(in)) int N = Integer.parseInt(reader.readLine()); N Integer.parseInt(reader.readLine()) Integer.parseInt Integer reader.readLine() reader.readLine reader String[] inputs = reader.readLine().split(" "); inputs reader.readLine().split(" ") reader.readLine().split reader.readLine() reader.readLine reader " " boolean[] colors = new boolean[8]; colors new boolean[8] 8 int above3200 = 0; above3200 0 for (int i = 0; i < N; i++) {
            int rate = Integer.parseInt(inputs[i]);
            if(rate <= 399) {
                colors[0] = true;
            } else if (rate <= 799) {
                colors[1] = true;
            } else if (rate <= 1199) {
                colors[2] = true;
            } else if (rate <= 1599) {
                colors[3] = true;
            } else if (rate <= 1999) {
                colors[4] = true;
            } else if (rate <= 2399) {
                colors[5] = true;
            } else if (rate <= 2799) {
                colors[6] = true;
            } else if (rate <= 3199) {
                colors[7] = true;
            } else {
                above3200 +=1;
            }
        } int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
            int rate = Integer.parseInt(inputs[i]);
            if(rate <= 399) {
                colors[0] = true;
            } else if (rate <= 799) {
                colors[1] = true;
            } else if (rate <= 1199) {
                colors[2] = true;
            } else if (rate <= 1599) {
                colors[3] = true;
            } else if (rate <= 1999) {
                colors[4] = true;
            } else if (rate <= 2399) {
                colors[5] = true;
            } else if (rate <= 2799) {
                colors[6] = true;
            } else if (rate <= 3199) {
                colors[7] = true;
            } else {
                above3200 +=1;
            }
        } {
            int rate = Integer.parseInt(inputs[i]);
            if(rate <= 399) {
                colors[0] = true;
            } else if (rate <= 799) {
                colors[1] = true;
            } else if (rate <= 1199) {
                colors[2] = true;
            } else if (rate <= 1599) {
                colors[3] = true;
            } else if (rate <= 1999) {
                colors[4] = true;
            } else if (rate <= 2399) {
                colors[5] = true;
            } else if (rate <= 2799) {
                colors[6] = true;
            } else if (rate <= 3199) {
                colors[7] = true;
            } else {
                above3200 +=1;
            }
        } int rate = Integer.parseInt(inputs[i]); rate Integer.parseInt(inputs[i]) Integer.parseInt Integer inputs[i] inputs i if(rate <= 399) {
                colors[0] = true;
            } else if (rate <= 799) {
                colors[1] = true;
            } else if (rate <= 1199) {
                colors[2] = true;
            } else if (rate <= 1599) {
                colors[3] = true;
            } else if (rate <= 1999) {
                colors[4] = true;
            } else if (rate <= 2399) {
                colors[5] = true;
            } else if (rate <= 2799) {
                colors[6] = true;
            } else if (rate <= 3199) {
                colors[7] = true;
            } else {
                above3200 +=1;
            } rate <= 399 rate 399 {
                colors[0] = true;
            } colors[0] = true colors[0] colors 0 true if (rate <= 799) {
                colors[1] = true;
            } else if (rate <= 1199) {
                colors[2] = true;
            } else if (rate <= 1599) {
                colors[3] = true;
            } else if (rate <= 1999) {
                colors[4] = true;
            } else if (rate <= 2399) {
                colors[5] = true;
            } else if (rate <= 2799) {
                colors[6] = true;
            } else if (rate <= 3199) {
                colors[7] = true;
            } else {
                above3200 +=1;
            } rate <= 799 rate 799 {
                colors[1] = true;
            } colors[1] = true colors[1] colors 1 true if (rate <= 1199) {
                colors[2] = true;
            } else if (rate <= 1599) {
                colors[3] = true;
            } else if (rate <= 1999) {
                colors[4] = true;
            } else if (rate <= 2399) {
                colors[5] = true;
            } else if (rate <= 2799) {
                colors[6] = true;
            } else if (rate <= 3199) {
                colors[7] = true;
            } else {
                above3200 +=1;
            } rate <= 1199 rate 1199 {
                colors[2] = true;
            } colors[2] = true colors[2] colors 2 true if (rate <= 1599) {
                colors[3] = true;
            } else if (rate <= 1999) {
                colors[4] = true;
            } else if (rate <= 2399) {
                colors[5] = true;
            } else if (rate <= 2799) {
                colors[6] = true;
            } else if (rate <= 3199) {
                colors[7] = true;
            } else {
                above3200 +=1;
            } rate <= 1599 rate 1599 {
                colors[3] = true;
            } colors[3] = true colors[3] colors 3 true if (rate <= 1999) {
                colors[4] = true;
            } else if (rate <= 2399) {
                colors[5] = true;
            } else if (rate <= 2799) {
                colors[6] = true;
            } else if (rate <= 3199) {
                colors[7] = true;
            } else {
                above3200 +=1;
            } rate <= 1999 rate 1999 {
                colors[4] = true;
            } colors[4] = true colors[4] colors 4 true if (rate <= 2399) {
                colors[5] = true;
            } else if (rate <= 2799) {
                colors[6] = true;
            } else if (rate <= 3199) {
                colors[7] = true;
            } else {
                above3200 +=1;
            } rate <= 2399 rate 2399 {
                colors[5] = true;
            } colors[5] = true colors[5] colors 5 true if (rate <= 2799) {
                colors[6] = true;
            } else if (rate <= 3199) {
                colors[7] = true;
            } else {
                above3200 +=1;
            } rate <= 2799 rate 2799 {
                colors[6] = true;
            } colors[6] = true colors[6] colors 6 true if (rate <= 3199) {
                colors[7] = true;
            } else {
                above3200 +=1;
            } rate <= 3199 rate 3199 {
                colors[7] = true;
            } colors[7] = true colors[7] colors 7 true {
                above3200 +=1;
            } above3200 +=1 above3200 1 int count = 0; count 0 for (int i = 0; i < 8; i++) {
            if(colors[i]) {
                count += 1;
            }
        } int i = 0; int i = 0; i 0 i < 8 i 8 i++ i++ i {
            if(colors[i]) {
                count += 1;
            }
        } {
            if(colors[i]) {
                count += 1;
            }
        } if(colors[i]) {
                count += 1;
            } colors[i] colors i {
                count += 1;
            } count += 1 count 1 int min = count; min count if(count == 0 && above3200 > 0) {
            min += 1;
        } count == 0 && above3200 > 0 count == 0 count 0 above3200 > 0 above3200 0 {
            min += 1;
        } min += 1 min 1 int max = count + above3200; max count + above3200 count above3200 System.out.println(min + " " + max) System.out.println System.out System System.out min + " " + max min + " " + max min " " max String[] args args public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(in));
        int N = Integer.parseInt(reader.readLine());
        String[] inputs = reader.readLine().split(" ");
        boolean[] colors = new boolean[8];
        int above3200 = 0;
        for (int i = 0; i < N; i++) {
            int rate = Integer.parseInt(inputs[i]);
            if(rate <= 399) {
                colors[0] = true;
            } else if (rate <= 799) {
                colors[1] = true;
            } else if (rate <= 1199) {
                colors[2] = true;
            } else if (rate <= 1599) {
                colors[3] = true;
            } else if (rate <= 1999) {
                colors[4] = true;
            } else if (rate <= 2399) {
                colors[5] = true;
            } else if (rate <= 2799) {
                colors[6] = true;
            } else if (rate <= 3199) {
                colors[7] = true;
            } else {
                above3200 +=1;
            }
        }

        int count = 0;
        for (int i = 0; i < 8; i++) {
            if(colors[i]) {
                count += 1;
            }
        }
        int min = count;
        if(count == 0 && above3200 > 0) {
            min += 1;
        }
        int max = count + above3200;
        System.out.println(min + " " + max);
    }
} public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(in));
        int N = Integer.parseInt(reader.readLine());
        String[] inputs = reader.readLine().split(" ");
        boolean[] colors = new boolean[8];
        int above3200 = 0;
        for (int i = 0; i < N; i++) {
            int rate = Integer.parseInt(inputs[i]);
            if(rate <= 399) {
                colors[0] = true;
            } else if (rate <= 799) {
                colors[1] = true;
            } else if (rate <= 1199) {
                colors[2] = true;
            } else if (rate <= 1599) {
                colors[3] = true;
            } else if (rate <= 1999) {
                colors[4] = true;
            } else if (rate <= 2399) {
                colors[5] = true;
            } else if (rate <= 2799) {
                colors[6] = true;
            } else if (rate <= 3199) {
                colors[7] = true;
            } else {
                above3200 +=1;
            }
        }

        int count = 0;
        for (int i = 0; i < 8; i++) {
            if(colors[i]) {
                count += 1;
            }
        }
        int min = count;
        if(count == 0 && above3200 > 0) {
            min += 1;
        }
        int max = count + above3200;
        System.out.println(min + " " + max);
    }
} Main
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import static java.lang.System.in;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(in));
        int N = Integer.parseInt(reader.readLine());
        String[] inputs = reader.readLine().split(" ");
        boolean[] colors = new boolean[8];
        int above3200 = 0;
        for (int i = 0; i < N; i++) {
            int rate = Integer.parseInt(inputs[i]);
            if(rate <= 399) {
                colors[0] = true;
            } else if (rate <= 799) {
                colors[1] = true;
            } else if (rate <= 1199) {
                colors[2] = true;
            } else if (rate <= 1599) {
                colors[3] = true;
            } else if (rate <= 1999) {
                colors[4] = true;
            } else if (rate <= 2399) {
                colors[5] = true;
            } else if (rate <= 2799) {
                colors[6] = true;
            } else if (rate <= 3199) {
                colors[7] = true;
            } else {
                above3200 +=1;
            }
        }

        int count = 0;
        for (int i = 0; i < 8; i++) {
            if(colors[i]) {
                count += 1;
            }
        }
        int min = count;
        if(count == 0 && above3200 > 0) {
            min += 1;
        }
        int max = count + above3200;
        System.out.println(min + " " + max);
    }
}