import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;

public class Main {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int N = in.nextInt();
		Set<Integer> as = new HashSet<>();
		int over3200 = 0;
		for (int i = 0; i < N; i++) {
			int a = in.nextInt();
			if (a < 400) {
				as.add(1);
			} else if (a < 800) {
				as.add(2);
			} else if (a < 1200) {
				as.add(3);
			} else if (a < 1600) {
				as.add(4);
			} else if (a < 2000) {
				as.add(5);
			} else if (a < 2400) {
				as.add(6);
			} else if (a < 2800) {
				as.add(7);
			} else if (a < 3200) {
				as.add(8);
			} else {
				over3200++;
			}
		}
		if (over3200 == 0) {
			System.out.println(as.size() + " ");
		} else {
			System.out.print(Math.max(1, as.size()) + " ");
		}
		System.out.println(as.size() + over3200);
		in.close();
	}
} import java.util.HashSet; HashSet java.util import java.util.Scanner; Scanner java.util import java.util.Set; Set java.util public class Main {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int N = in.nextInt();
		Set<Integer> as = new HashSet<>();
		int over3200 = 0;
		for (int i = 0; i < N; i++) {
			int a = in.nextInt();
			if (a < 400) {
				as.add(1);
			} else if (a < 800) {
				as.add(2);
			} else if (a < 1200) {
				as.add(3);
			} else if (a < 1600) {
				as.add(4);
			} else if (a < 2000) {
				as.add(5);
			} else if (a < 2400) {
				as.add(6);
			} else if (a < 2800) {
				as.add(7);
			} else if (a < 3200) {
				as.add(8);
			} else {
				over3200++;
			}
		}
		if (over3200 == 0) {
			System.out.println(as.size() + " ");
		} else {
			System.out.print(Math.max(1, as.size()) + " ");
		}
		System.out.println(as.size() + over3200);
		in.close();
	}
} Main public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int N = in.nextInt();
		Set<Integer> as = new HashSet<>();
		int over3200 = 0;
		for (int i = 0; i < N; i++) {
			int a = in.nextInt();
			if (a < 400) {
				as.add(1);
			} else if (a < 800) {
				as.add(2);
			} else if (a < 1200) {
				as.add(3);
			} else if (a < 1600) {
				as.add(4);
			} else if (a < 2000) {
				as.add(5);
			} else if (a < 2400) {
				as.add(6);
			} else if (a < 2800) {
				as.add(7);
			} else if (a < 3200) {
				as.add(8);
			} else {
				over3200++;
			}
		}
		if (over3200 == 0) {
			System.out.println(as.size() + " ");
		} else {
			System.out.print(Math.max(1, as.size()) + " ");
		}
		System.out.println(as.size() + over3200);
		in.close();
	} main {
		Scanner in = new Scanner(System.in);
		int N = in.nextInt();
		Set<Integer> as = new HashSet<>();
		int over3200 = 0;
		for (int i = 0; i < N; i++) {
			int a = in.nextInt();
			if (a < 400) {
				as.add(1);
			} else if (a < 800) {
				as.add(2);
			} else if (a < 1200) {
				as.add(3);
			} else if (a < 1600) {
				as.add(4);
			} else if (a < 2000) {
				as.add(5);
			} else if (a < 2400) {
				as.add(6);
			} else if (a < 2800) {
				as.add(7);
			} else if (a < 3200) {
				as.add(8);
			} else {
				over3200++;
			}
		}
		if (over3200 == 0) {
			System.out.println(as.size() + " ");
		} else {
			System.out.print(Math.max(1, as.size()) + " ");
		}
		System.out.println(as.size() + over3200);
		in.close();
	} Scanner in = new Scanner(System.in); in new Scanner(System.in) int N = in.nextInt(); N in.nextInt() in.nextInt in Set<Integer> as = new HashSet<>(); as new HashSet<>() int over3200 = 0; over3200 0 for (int i = 0; i < N; i++) {
			int a = in.nextInt();
			if (a < 400) {
				as.add(1);
			} else if (a < 800) {
				as.add(2);
			} else if (a < 1200) {
				as.add(3);
			} else if (a < 1600) {
				as.add(4);
			} else if (a < 2000) {
				as.add(5);
			} else if (a < 2400) {
				as.add(6);
			} else if (a < 2800) {
				as.add(7);
			} else if (a < 3200) {
				as.add(8);
			} else {
				over3200++;
			}
		} int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
			int a = in.nextInt();
			if (a < 400) {
				as.add(1);
			} else if (a < 800) {
				as.add(2);
			} else if (a < 1200) {
				as.add(3);
			} else if (a < 1600) {
				as.add(4);
			} else if (a < 2000) {
				as.add(5);
			} else if (a < 2400) {
				as.add(6);
			} else if (a < 2800) {
				as.add(7);
			} else if (a < 3200) {
				as.add(8);
			} else {
				over3200++;
			}
		} {
			int a = in.nextInt();
			if (a < 400) {
				as.add(1);
			} else if (a < 800) {
				as.add(2);
			} else if (a < 1200) {
				as.add(3);
			} else if (a < 1600) {
				as.add(4);
			} else if (a < 2000) {
				as.add(5);
			} else if (a < 2400) {
				as.add(6);
			} else if (a < 2800) {
				as.add(7);
			} else if (a < 3200) {
				as.add(8);
			} else {
				over3200++;
			}
		} int a = in.nextInt(); a in.nextInt() in.nextInt in if (a < 400) {
				as.add(1);
			} else if (a < 800) {
				as.add(2);
			} else if (a < 1200) {
				as.add(3);
			} else if (a < 1600) {
				as.add(4);
			} else if (a < 2000) {
				as.add(5);
			} else if (a < 2400) {
				as.add(6);
			} else if (a < 2800) {
				as.add(7);
			} else if (a < 3200) {
				as.add(8);
			} else {
				over3200++;
			} a < 400 a 400 {
				as.add(1);
			} as.add(1) as.add as 1 if (a < 800) {
				as.add(2);
			} else if (a < 1200) {
				as.add(3);
			} else if (a < 1600) {
				as.add(4);
			} else if (a < 2000) {
				as.add(5);
			} else if (a < 2400) {
				as.add(6);
			} else if (a < 2800) {
				as.add(7);
			} else if (a < 3200) {
				as.add(8);
			} else {
				over3200++;
			} a < 800 a 800 {
				as.add(2);
			} as.add(2) as.add as 2 if (a < 1200) {
				as.add(3);
			} else if (a < 1600) {
				as.add(4);
			} else if (a < 2000) {
				as.add(5);
			} else if (a < 2400) {
				as.add(6);
			} else if (a < 2800) {
				as.add(7);
			} else if (a < 3200) {
				as.add(8);
			} else {
				over3200++;
			} a < 1200 a 1200 {
				as.add(3);
			} as.add(3) as.add as 3 if (a < 1600) {
				as.add(4);
			} else if (a < 2000) {
				as.add(5);
			} else if (a < 2400) {
				as.add(6);
			} else if (a < 2800) {
				as.add(7);
			} else if (a < 3200) {
				as.add(8);
			} else {
				over3200++;
			} a < 1600 a 1600 {
				as.add(4);
			} as.add(4) as.add as 4 if (a < 2000) {
				as.add(5);
			} else if (a < 2400) {
				as.add(6);
			} else if (a < 2800) {
				as.add(7);
			} else if (a < 3200) {
				as.add(8);
			} else {
				over3200++;
			} a < 2000 a 2000 {
				as.add(5);
			} as.add(5) as.add as 5 if (a < 2400) {
				as.add(6);
			} else if (a < 2800) {
				as.add(7);
			} else if (a < 3200) {
				as.add(8);
			} else {
				over3200++;
			} a < 2400 a 2400 {
				as.add(6);
			} as.add(6) as.add as 6 if (a < 2800) {
				as.add(7);
			} else if (a < 3200) {
				as.add(8);
			} else {
				over3200++;
			} a < 2800 a 2800 {
				as.add(7);
			} as.add(7) as.add as 7 if (a < 3200) {
				as.add(8);
			} else {
				over3200++;
			} a < 3200 a 3200 {
				as.add(8);
			} as.add(8) as.add as 8 {
				over3200++;
			} over3200++ over3200 if (over3200 == 0) {
			System.out.println(as.size() + " ");
		} else {
			System.out.print(Math.max(1, as.size()) + " ");
		} over3200 == 0 over3200 0 {
			System.out.println(as.size() + " ");
		} System.out.println(as.size() + " ") System.out.println System.out System System.out as.size() + " " as.size() as.size as " " {
			System.out.print(Math.max(1, as.size()) + " ");
		} System.out.print(Math.max(1, as.size()) + " ") System.out.print System.out System System.out Math.max(1, as.size()) + " " Math.max(1, as.size()) Math.max Math 1 as.size() as.size as " " System.out.println(as.size() + over3200) System.out.println System.out System System.out as.size() + over3200 as.size() as.size as over3200 in.close() in.close in String[] args args public class Main {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int N = in.nextInt();
		Set<Integer> as = new HashSet<>();
		int over3200 = 0;
		for (int i = 0; i < N; i++) {
			int a = in.nextInt();
			if (a < 400) {
				as.add(1);
			} else if (a < 800) {
				as.add(2);
			} else if (a < 1200) {
				as.add(3);
			} else if (a < 1600) {
				as.add(4);
			} else if (a < 2000) {
				as.add(5);
			} else if (a < 2400) {
				as.add(6);
			} else if (a < 2800) {
				as.add(7);
			} else if (a < 3200) {
				as.add(8);
			} else {
				over3200++;
			}
		}
		if (over3200 == 0) {
			System.out.println(as.size() + " ");
		} else {
			System.out.print(Math.max(1, as.size()) + " ");
		}
		System.out.println(as.size() + over3200);
		in.close();
	}
} public class Main {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int N = in.nextInt();
		Set<Integer> as = new HashSet<>();
		int over3200 = 0;
		for (int i = 0; i < N; i++) {
			int a = in.nextInt();
			if (a < 400) {
				as.add(1);
			} else if (a < 800) {
				as.add(2);
			} else if (a < 1200) {
				as.add(3);
			} else if (a < 1600) {
				as.add(4);
			} else if (a < 2000) {
				as.add(5);
			} else if (a < 2400) {
				as.add(6);
			} else if (a < 2800) {
				as.add(7);
			} else if (a < 3200) {
				as.add(8);
			} else {
				over3200++;
			}
		}
		if (over3200 == 0) {
			System.out.println(as.size() + " ");
		} else {
			System.out.print(Math.max(1, as.size()) + " ");
		}
		System.out.println(as.size() + over3200);
		in.close();
	}
} Main
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;

public class Main {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int N = in.nextInt();
		Set<Integer> as = new HashSet<>();
		int over3200 = 0;
		for (int i = 0; i < N; i++) {
			int a = in.nextInt();
			if (a < 400) {
				as.add(1);
			} else if (a < 800) {
				as.add(2);
			} else if (a < 1200) {
				as.add(3);
			} else if (a < 1600) {
				as.add(4);
			} else if (a < 2000) {
				as.add(5);
			} else if (a < 2400) {
				as.add(6);
			} else if (a < 2800) {
				as.add(7);
			} else if (a < 3200) {
				as.add(8);
			} else {
				over3200++;
			}
		}
		if (over3200 == 0) {
			System.out.println(as.size() + " ");
		} else {
			System.out.print(Math.max(1, as.size()) + " ");
		}
		System.out.println(as.size() + over3200);
		in.close();
	}
}