import java.math.BigDecimal;
import java.util.*;

public class Main {

    static Scanner sc = new Scanner(System.in);

    public static void main(String[] args) {
        int N = sc.nextInt();

        HashSet<Integer> kinds = new HashSet<>();
        int any = 0;

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

            if (value <= 399) {
                kinds.add(0);
            } else if (value <= 799) {
                kinds.add(1);
            } else if (value <= 1199) {
                kinds.add(2);
            } else if (value <= 1599) {
                kinds.add(3);
            } else if (value <= 1999) {
                kinds.add(4);
            } else if (value <= 2399) {
                kinds.add(5);
            } else if (value <= 2799) {
                kinds.add(6);
            } else if (value <= 3199) {
                kinds.add(7);
            } else {
                any++;
            }
        }

        int min = (kinds.size() == 0) ? 1 : kinds.size();
        int max = kinds.size() + any;

        System.out.println(min + " "+ max);
    }
} import java.math.BigDecimal; BigDecimal java.math import java.util.*; util.* java public class Main {

    static Scanner sc = new Scanner(System.in);

    public static void main(String[] args) {
        int N = sc.nextInt();

        HashSet<Integer> kinds = new HashSet<>();
        int any = 0;

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

            if (value <= 399) {
                kinds.add(0);
            } else if (value <= 799) {
                kinds.add(1);
            } else if (value <= 1199) {
                kinds.add(2);
            } else if (value <= 1599) {
                kinds.add(3);
            } else if (value <= 1999) {
                kinds.add(4);
            } else if (value <= 2399) {
                kinds.add(5);
            } else if (value <= 2799) {
                kinds.add(6);
            } else if (value <= 3199) {
                kinds.add(7);
            } else {
                any++;
            }
        }

        int min = (kinds.size() == 0) ? 1 : kinds.size();
        int max = kinds.size() + any;

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

        HashSet<Integer> kinds = new HashSet<>();
        int any = 0;

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

            if (value <= 399) {
                kinds.add(0);
            } else if (value <= 799) {
                kinds.add(1);
            } else if (value <= 1199) {
                kinds.add(2);
            } else if (value <= 1599) {
                kinds.add(3);
            } else if (value <= 1999) {
                kinds.add(4);
            } else if (value <= 2399) {
                kinds.add(5);
            } else if (value <= 2799) {
                kinds.add(6);
            } else if (value <= 3199) {
                kinds.add(7);
            } else {
                any++;
            }
        }

        int min = (kinds.size() == 0) ? 1 : kinds.size();
        int max = kinds.size() + any;

        System.out.println(min + " "+ max);
    } main {
        int N = sc.nextInt();

        HashSet<Integer> kinds = new HashSet<>();
        int any = 0;

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

            if (value <= 399) {
                kinds.add(0);
            } else if (value <= 799) {
                kinds.add(1);
            } else if (value <= 1199) {
                kinds.add(2);
            } else if (value <= 1599) {
                kinds.add(3);
            } else if (value <= 1999) {
                kinds.add(4);
            } else if (value <= 2399) {
                kinds.add(5);
            } else if (value <= 2799) {
                kinds.add(6);
            } else if (value <= 3199) {
                kinds.add(7);
            } else {
                any++;
            }
        }

        int min = (kinds.size() == 0) ? 1 : kinds.size();
        int max = kinds.size() + any;

        System.out.println(min + " "+ max);
    } int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc HashSet<Integer> kinds = new HashSet<>(); kinds new HashSet<>() int any = 0; any 0 for (int i = 0; i < N; i++) {
            int value = sc.nextInt();

            if (value <= 399) {
                kinds.add(0);
            } else if (value <= 799) {
                kinds.add(1);
            } else if (value <= 1199) {
                kinds.add(2);
            } else if (value <= 1599) {
                kinds.add(3);
            } else if (value <= 1999) {
                kinds.add(4);
            } else if (value <= 2399) {
                kinds.add(5);
            } else if (value <= 2799) {
                kinds.add(6);
            } else if (value <= 3199) {
                kinds.add(7);
            } else {
                any++;
            }
        } int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
            int value = sc.nextInt();

            if (value <= 399) {
                kinds.add(0);
            } else if (value <= 799) {
                kinds.add(1);
            } else if (value <= 1199) {
                kinds.add(2);
            } else if (value <= 1599) {
                kinds.add(3);
            } else if (value <= 1999) {
                kinds.add(4);
            } else if (value <= 2399) {
                kinds.add(5);
            } else if (value <= 2799) {
                kinds.add(6);
            } else if (value <= 3199) {
                kinds.add(7);
            } else {
                any++;
            }
        } {
            int value = sc.nextInt();

            if (value <= 399) {
                kinds.add(0);
            } else if (value <= 799) {
                kinds.add(1);
            } else if (value <= 1199) {
                kinds.add(2);
            } else if (value <= 1599) {
                kinds.add(3);
            } else if (value <= 1999) {
                kinds.add(4);
            } else if (value <= 2399) {
                kinds.add(5);
            } else if (value <= 2799) {
                kinds.add(6);
            } else if (value <= 3199) {
                kinds.add(7);
            } else {
                any++;
            }
        } int value = sc.nextInt(); value sc.nextInt() sc.nextInt sc if (value <= 399) {
                kinds.add(0);
            } else if (value <= 799) {
                kinds.add(1);
            } else if (value <= 1199) {
                kinds.add(2);
            } else if (value <= 1599) {
                kinds.add(3);
            } else if (value <= 1999) {
                kinds.add(4);
            } else if (value <= 2399) {
                kinds.add(5);
            } else if (value <= 2799) {
                kinds.add(6);
            } else if (value <= 3199) {
                kinds.add(7);
            } else {
                any++;
            } value <= 399 value 399 {
                kinds.add(0);
            } kinds.add(0) kinds.add kinds 0 if (value <= 799) {
                kinds.add(1);
            } else if (value <= 1199) {
                kinds.add(2);
            } else if (value <= 1599) {
                kinds.add(3);
            } else if (value <= 1999) {
                kinds.add(4);
            } else if (value <= 2399) {
                kinds.add(5);
            } else if (value <= 2799) {
                kinds.add(6);
            } else if (value <= 3199) {
                kinds.add(7);
            } else {
                any++;
            } value <= 799 value 799 {
                kinds.add(1);
            } kinds.add(1) kinds.add kinds 1 if (value <= 1199) {
                kinds.add(2);
            } else if (value <= 1599) {
                kinds.add(3);
            } else if (value <= 1999) {
                kinds.add(4);
            } else if (value <= 2399) {
                kinds.add(5);
            } else if (value <= 2799) {
                kinds.add(6);
            } else if (value <= 3199) {
                kinds.add(7);
            } else {
                any++;
            } value <= 1199 value 1199 {
                kinds.add(2);
            } kinds.add(2) kinds.add kinds 2 if (value <= 1599) {
                kinds.add(3);
            } else if (value <= 1999) {
                kinds.add(4);
            } else if (value <= 2399) {
                kinds.add(5);
            } else if (value <= 2799) {
                kinds.add(6);
            } else if (value <= 3199) {
                kinds.add(7);
            } else {
                any++;
            } value <= 1599 value 1599 {
                kinds.add(3);
            } kinds.add(3) kinds.add kinds 3 if (value <= 1999) {
                kinds.add(4);
            } else if (value <= 2399) {
                kinds.add(5);
            } else if (value <= 2799) {
                kinds.add(6);
            } else if (value <= 3199) {
                kinds.add(7);
            } else {
                any++;
            } value <= 1999 value 1999 {
                kinds.add(4);
            } kinds.add(4) kinds.add kinds 4 if (value <= 2399) {
                kinds.add(5);
            } else if (value <= 2799) {
                kinds.add(6);
            } else if (value <= 3199) {
                kinds.add(7);
            } else {
                any++;
            } value <= 2399 value 2399 {
                kinds.add(5);
            } kinds.add(5) kinds.add kinds 5 if (value <= 2799) {
                kinds.add(6);
            } else if (value <= 3199) {
                kinds.add(7);
            } else {
                any++;
            } value <= 2799 value 2799 {
                kinds.add(6);
            } kinds.add(6) kinds.add kinds 6 if (value <= 3199) {
                kinds.add(7);
            } else {
                any++;
            } value <= 3199 value 3199 {
                kinds.add(7);
            } kinds.add(7) kinds.add kinds 7 {
                any++;
            } any++ any int min = (kinds.size() == 0) ? 1 : kinds.size(); min (kinds.size() == 0) ? 1 : kinds.size() (kinds.size() == 0) kinds.size() kinds.size kinds 0 1 kinds.size() kinds.size kinds int max = kinds.size() + any; max kinds.size() + any kinds.size() kinds.size kinds any 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 {

    static Scanner sc = new Scanner(System.in);

    public static void main(String[] args) {
        int N = sc.nextInt();

        HashSet<Integer> kinds = new HashSet<>();
        int any = 0;

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

            if (value <= 399) {
                kinds.add(0);
            } else if (value <= 799) {
                kinds.add(1);
            } else if (value <= 1199) {
                kinds.add(2);
            } else if (value <= 1599) {
                kinds.add(3);
            } else if (value <= 1999) {
                kinds.add(4);
            } else if (value <= 2399) {
                kinds.add(5);
            } else if (value <= 2799) {
                kinds.add(6);
            } else if (value <= 3199) {
                kinds.add(7);
            } else {
                any++;
            }
        }

        int min = (kinds.size() == 0) ? 1 : kinds.size();
        int max = kinds.size() + any;

        System.out.println(min + " "+ max);
    }
} public class Main {

    static Scanner sc = new Scanner(System.in);

    public static void main(String[] args) {
        int N = sc.nextInt();

        HashSet<Integer> kinds = new HashSet<>();
        int any = 0;

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

            if (value <= 399) {
                kinds.add(0);
            } else if (value <= 799) {
                kinds.add(1);
            } else if (value <= 1199) {
                kinds.add(2);
            } else if (value <= 1599) {
                kinds.add(3);
            } else if (value <= 1999) {
                kinds.add(4);
            } else if (value <= 2399) {
                kinds.add(5);
            } else if (value <= 2799) {
                kinds.add(6);
            } else if (value <= 3199) {
                kinds.add(7);
            } else {
                any++;
            }
        }

        int min = (kinds.size() == 0) ? 1 : kinds.size();
        int max = kinds.size() + any;

        System.out.println(min + " "+ max);
    }
} Main
import java.math.BigDecimal;
import java.util.*;

public class Main {

    static Scanner sc = new Scanner(System.in);

    public static void main(String[] args) {
        int N = sc.nextInt();

        HashSet<Integer> kinds = new HashSet<>();
        int any = 0;

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

            if (value <= 399) {
                kinds.add(0);
            } else if (value <= 799) {
                kinds.add(1);
            } else if (value <= 1199) {
                kinds.add(2);
            } else if (value <= 1599) {
                kinds.add(3);
            } else if (value <= 1999) {
                kinds.add(4);
            } else if (value <= 2399) {
                kinds.add(5);
            } else if (value <= 2799) {
                kinds.add(6);
            } else if (value <= 3199) {
                kinds.add(7);
            } else {
                any++;
            }
        }

        int min = (kinds.size() == 0) ? 1 : kinds.size();
        int max = kinds.size() + any;

        System.out.println(min + " "+ max);
    }
}