import java.util.Arrays;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        boolean color[] = new boolean[8];
        Arrays.fill(color, false);
        int rainbow = 0;
        int min = 0;
        int N = s.nextInt();
        for(int i = 0; i < N; i++){
            try{
                int rate = s.nextInt();
                if(!color[rate / 400]){
                    min++;
                    color[rate / 400] = true;
                }
            } catch(IndexOutOfBoundsException e){
                rainbow++;
            }
        }
        if(min == 0){
            min = 1;
            rainbow--;
        }
        System.out.println(min + " " + (min+rainbow)); //好きな色ってほんとに好きな色なのかよshit!!
    }
} import java.util.Arrays; Arrays java.util import java.util.Scanner; Scanner java.util public class Main {

    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        boolean color[] = new boolean[8];
        Arrays.fill(color, false);
        int rainbow = 0;
        int min = 0;
        int N = s.nextInt();
        for(int i = 0; i < N; i++){
            try{
                int rate = s.nextInt();
                if(!color[rate / 400]){
                    min++;
                    color[rate / 400] = true;
                }
            } catch(IndexOutOfBoundsException e){
                rainbow++;
            }
        }
        if(min == 0){
            min = 1;
            rainbow--;
        }
        System.out.println(min + " " + (min+rainbow)); //好きな色ってほんとに好きな色なのかよshit!!
    }
} Main public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        boolean color[] = new boolean[8];
        Arrays.fill(color, false);
        int rainbow = 0;
        int min = 0;
        int N = s.nextInt();
        for(int i = 0; i < N; i++){
            try{
                int rate = s.nextInt();
                if(!color[rate / 400]){
                    min++;
                    color[rate / 400] = true;
                }
            } catch(IndexOutOfBoundsException e){
                rainbow++;
            }
        }
        if(min == 0){
            min = 1;
            rainbow--;
        }
        System.out.println(min + " " + (min+rainbow)); //好きな色ってほんとに好きな色なのかよshit!!
    } main {
        Scanner s = new Scanner(System.in);
        boolean color[] = new boolean[8];
        Arrays.fill(color, false);
        int rainbow = 0;
        int min = 0;
        int N = s.nextInt();
        for(int i = 0; i < N; i++){
            try{
                int rate = s.nextInt();
                if(!color[rate / 400]){
                    min++;
                    color[rate / 400] = true;
                }
            } catch(IndexOutOfBoundsException e){
                rainbow++;
            }
        }
        if(min == 0){
            min = 1;
            rainbow--;
        }
        System.out.println(min + " " + (min+rainbow)); //好きな色ってほんとに好きな色なのかよshit!!
    } Scanner s = new Scanner(System.in); s new Scanner(System.in) boolean color[] = new boolean[8]; color new boolean[8] 8 Arrays.fill(color, false) Arrays.fill Arrays color false int rainbow = 0; rainbow 0 int min = 0; min 0 int N = s.nextInt(); N s.nextInt() s.nextInt s for(int i = 0; i < N; i++){
            try{
                int rate = s.nextInt();
                if(!color[rate / 400]){
                    min++;
                    color[rate / 400] = true;
                }
            } catch(IndexOutOfBoundsException e){
                rainbow++;
            }
        } int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
            try{
                int rate = s.nextInt();
                if(!color[rate / 400]){
                    min++;
                    color[rate / 400] = true;
                }
            } catch(IndexOutOfBoundsException e){
                rainbow++;
            }
        } {
            try{
                int rate = s.nextInt();
                if(!color[rate / 400]){
                    min++;
                    color[rate / 400] = true;
                }
            } catch(IndexOutOfBoundsException e){
                rainbow++;
            }
        } try{
                int rate = s.nextInt();
                if(!color[rate / 400]){
                    min++;
                    color[rate / 400] = true;
                }
            } catch(IndexOutOfBoundsException e){
                rainbow++;
            } catch(IndexOutOfBoundsException e){
                rainbow++;
            } IndexOutOfBoundsException e {
                rainbow++;
            } rainbow++ rainbow {
                int rate = s.nextInt();
                if(!color[rate / 400]){
                    min++;
                    color[rate / 400] = true;
                }
            } int rate = s.nextInt(); rate s.nextInt() s.nextInt s if(!color[rate / 400]){
                    min++;
                    color[rate / 400] = true;
                } !color[rate / 400] color[rate / 400] color rate / 400 rate 400 {
                    min++;
                    color[rate / 400] = true;
                } min++ min color[rate / 400] = true color[rate / 400] color rate / 400 rate 400 true if(min == 0){
            min = 1;
            rainbow--;
        } min == 0 min 0 {
            min = 1;
            rainbow--;
        } min = 1 min 1 rainbow-- rainbow System.out.println(min + " " + (min+rainbow)) System.out.println System.out System System.out min + " " + (min+rainbow) min + " " + (min+rainbow) min " " (min+rainbow) min rainbow String[] args args public class Main {

    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        boolean color[] = new boolean[8];
        Arrays.fill(color, false);
        int rainbow = 0;
        int min = 0;
        int N = s.nextInt();
        for(int i = 0; i < N; i++){
            try{
                int rate = s.nextInt();
                if(!color[rate / 400]){
                    min++;
                    color[rate / 400] = true;
                }
            } catch(IndexOutOfBoundsException e){
                rainbow++;
            }
        }
        if(min == 0){
            min = 1;
            rainbow--;
        }
        System.out.println(min + " " + (min+rainbow)); //好きな色ってほんとに好きな色なのかよshit!!
    }
} public class Main {

    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        boolean color[] = new boolean[8];
        Arrays.fill(color, false);
        int rainbow = 0;
        int min = 0;
        int N = s.nextInt();
        for(int i = 0; i < N; i++){
            try{
                int rate = s.nextInt();
                if(!color[rate / 400]){
                    min++;
                    color[rate / 400] = true;
                }
            } catch(IndexOutOfBoundsException e){
                rainbow++;
            }
        }
        if(min == 0){
            min = 1;
            rainbow--;
        }
        System.out.println(min + " " + (min+rainbow)); //好きな色ってほんとに好きな色なのかよshit!!
    }
} Main
import java.util.Arrays;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        boolean color[] = new boolean[8];
        Arrays.fill(color, false);
        int rainbow = 0;
        int min = 0;
        int N = s.nextInt();
        for(int i = 0; i < N; i++){
            try{
                int rate = s.nextInt();
                if(!color[rate / 400]){
                    min++;
                    color[rate / 400] = true;
                }
            } catch(IndexOutOfBoundsException e){
                rainbow++;
            }
        }
        if(min == 0){
            min = 1;
            rainbow--;
        }
        System.out.println(min + " " + (min+rainbow)); //好きな色ってほんとに好きな色なのかよshit!!
    }
}
