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

class Main {
	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		try {
			String str = br.readLine();
			int N = Integer.parseInt(str);
			str = br.readLine();
			String[] s = str.split(" ",0);
			int[] a = new int[8];
			for(int i = 0;i<8;i++) {
				a[i] = 0;
			}
			int count = 0;
			int over = 0;
			for(int i = 0;i < N; i++) {
				int x = Integer.parseInt(s[i]);
				if(x >=3200) {
					over++;
				}else if(a[x/400] == 0) {
					count++;
					a[x/400]++;
				}
			}
			int min = count;
			if(min == 0) min = 1;
			int max = over+count;
			System.out.println(min+" "+max);
//			long max  = 1000000007;
		}catch (Exception e) {
			System.exit(0);
		}
	}
} import java.io.BufferedReader; BufferedReader java.io import java.io.IOException; IOException java.io import java.io.InputStreamReader; InputStreamReader java.io class Main {
	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		try {
			String str = br.readLine();
			int N = Integer.parseInt(str);
			str = br.readLine();
			String[] s = str.split(" ",0);
			int[] a = new int[8];
			for(int i = 0;i<8;i++) {
				a[i] = 0;
			}
			int count = 0;
			int over = 0;
			for(int i = 0;i < N; i++) {
				int x = Integer.parseInt(s[i]);
				if(x >=3200) {
					over++;
				}else if(a[x/400] == 0) {
					count++;
					a[x/400]++;
				}
			}
			int min = count;
			if(min == 0) min = 1;
			int max = over+count;
			System.out.println(min+" "+max);
//			long max  = 1000000007;
		}catch (Exception e) {
			System.exit(0);
		}
	}
} Main public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		try {
			String str = br.readLine();
			int N = Integer.parseInt(str);
			str = br.readLine();
			String[] s = str.split(" ",0);
			int[] a = new int[8];
			for(int i = 0;i<8;i++) {
				a[i] = 0;
			}
			int count = 0;
			int over = 0;
			for(int i = 0;i < N; i++) {
				int x = Integer.parseInt(s[i]);
				if(x >=3200) {
					over++;
				}else if(a[x/400] == 0) {
					count++;
					a[x/400]++;
				}
			}
			int min = count;
			if(min == 0) min = 1;
			int max = over+count;
			System.out.println(min+" "+max);
//			long max  = 1000000007;
		}catch (Exception e) {
			System.exit(0);
		}
	} main {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		try {
			String str = br.readLine();
			int N = Integer.parseInt(str);
			str = br.readLine();
			String[] s = str.split(" ",0);
			int[] a = new int[8];
			for(int i = 0;i<8;i++) {
				a[i] = 0;
			}
			int count = 0;
			int over = 0;
			for(int i = 0;i < N; i++) {
				int x = Integer.parseInt(s[i]);
				if(x >=3200) {
					over++;
				}else if(a[x/400] == 0) {
					count++;
					a[x/400]++;
				}
			}
			int min = count;
			if(min == 0) min = 1;
			int max = over+count;
			System.out.println(min+" "+max);
//			long max  = 1000000007;
		}catch (Exception e) {
			System.exit(0);
		}
	} BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); br new BufferedReader(new InputStreamReader(System.in)) try {
			String str = br.readLine();
			int N = Integer.parseInt(str);
			str = br.readLine();
			String[] s = str.split(" ",0);
			int[] a = new int[8];
			for(int i = 0;i<8;i++) {
				a[i] = 0;
			}
			int count = 0;
			int over = 0;
			for(int i = 0;i < N; i++) {
				int x = Integer.parseInt(s[i]);
				if(x >=3200) {
					over++;
				}else if(a[x/400] == 0) {
					count++;
					a[x/400]++;
				}
			}
			int min = count;
			if(min == 0) min = 1;
			int max = over+count;
			System.out.println(min+" "+max);
//			long max  = 1000000007;
		}catch (Exception e) {
			System.exit(0);
		} catch (Exception e) {
			System.exit(0);
		} Exception e {
			System.exit(0);
		} System.exit(0) System.exit System 0 {
			String str = br.readLine();
			int N = Integer.parseInt(str);
			str = br.readLine();
			String[] s = str.split(" ",0);
			int[] a = new int[8];
			for(int i = 0;i<8;i++) {
				a[i] = 0;
			}
			int count = 0;
			int over = 0;
			for(int i = 0;i < N; i++) {
				int x = Integer.parseInt(s[i]);
				if(x >=3200) {
					over++;
				}else if(a[x/400] == 0) {
					count++;
					a[x/400]++;
				}
			}
			int min = count;
			if(min == 0) min = 1;
			int max = over+count;
			System.out.println(min+" "+max);
//			long max  = 1000000007;
		} String str = br.readLine(); str br.readLine() br.readLine br int N = Integer.parseInt(str); N Integer.parseInt(str) Integer.parseInt Integer str str = br.readLine() str br.readLine() br.readLine br String[] s = str.split(" ",0); s str.split(" ",0) str.split str " " 0 int[] a = new int[8]; a new int[8] 8 for(int i = 0;i<8;i++) {
				a[i] = 0;
			} int i = 0; int i = 0; i 0 i<8 i 8 i++ i++ i {
				a[i] = 0;
			} {
				a[i] = 0;
			} a[i] = 0 a[i] a i 0 int count = 0; count 0 int over = 0; over 0 for(int i = 0;i < N; i++) {
				int x = Integer.parseInt(s[i]);
				if(x >=3200) {
					over++;
				}else if(a[x/400] == 0) {
					count++;
					a[x/400]++;
				}
			} int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
				int x = Integer.parseInt(s[i]);
				if(x >=3200) {
					over++;
				}else if(a[x/400] == 0) {
					count++;
					a[x/400]++;
				}
			} {
				int x = Integer.parseInt(s[i]);
				if(x >=3200) {
					over++;
				}else if(a[x/400] == 0) {
					count++;
					a[x/400]++;
				}
			} int x = Integer.parseInt(s[i]); x Integer.parseInt(s[i]) Integer.parseInt Integer s[i] s i if(x >=3200) {
					over++;
				}else if(a[x/400] == 0) {
					count++;
					a[x/400]++;
				} x >=3200 x 3200 {
					over++;
				} over++ over if(a[x/400] == 0) {
					count++;
					a[x/400]++;
				} a[x/400] == 0 a[x/400] a x/400 x 400 0 {
					count++;
					a[x/400]++;
				} count++ count a[x/400]++ a[x/400] a x/400 x 400 int min = count; min count if(min == 0) min = 1; min == 0 min 0 min = 1 min 1 int max = over+count; max over+count over count System.out.println(min+" "+max) System.out.println System.out System System.out min+" "+max min+" "+max min " " max String[] args args
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

class Main {
	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		try {
			String str = br.readLine();
			int N = Integer.parseInt(str);
			str = br.readLine();
			String[] s = str.split(" ",0);
			int[] a = new int[8];
			for(int i = 0;i<8;i++) {
				a[i] = 0;
			}
			int count = 0;
			int over = 0;
			for(int i = 0;i < N; i++) {
				int x = Integer.parseInt(s[i]);
				if(x >=3200) {
					over++;
				}else if(a[x/400] == 0) {
					count++;
					a[x/400]++;
				}
			}
			int min = count;
			if(min == 0) min = 1;
			int max = over+count;
			System.out.println(min+" "+max);
//			long max  = 1000000007;
		}catch (Exception e) {
			System.exit(0);
		}
	}
}
