
import java.util.Arrays;
import java.util.Scanner;
public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = Integer.parseInt(sc.next());
		int []a = new int [n];
		int []b = new int [n];
		
		for(int i = 0 ; i < n ;i++) {
			a[i] = Integer.parseInt(sc.next());
			b[i] = atcoder(a[i]);
		}
		
		int cnt = 0;
		int min = 0;
		int now = 0;
		Arrays.sort(b);
		for(int i = 0 ; i < n ;i++) {
			if(b[i] < 0) {
				cnt++;
			}
			else if(now != b[i]) {
				min++;
				now = b[i];
			}
		}
		
		
		if(cnt == n) {
			System.out.println(1+" "+Math.min(8, cnt));
		}
		else {
			System.out.println(min+" "+(cnt+min));
		}
		
		
	}
	
	static int atcoder(int a) {
		if(a>= 3200) return -1;
		if(a>= 2800) return 8;
		if(a>=2400) return 7;
		if(a>=2000) return 6;
		if(a>=1600) return 5;
		if(a>=1200)return 4;
		if(a>=800) return 3;
		if(a>=400) return 2;
		return 1;
	}

} import java.util.Arrays; Arrays java.util import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = Integer.parseInt(sc.next());
		int []a = new int [n];
		int []b = new int [n];
		
		for(int i = 0 ; i < n ;i++) {
			a[i] = Integer.parseInt(sc.next());
			b[i] = atcoder(a[i]);
		}
		
		int cnt = 0;
		int min = 0;
		int now = 0;
		Arrays.sort(b);
		for(int i = 0 ; i < n ;i++) {
			if(b[i] < 0) {
				cnt++;
			}
			else if(now != b[i]) {
				min++;
				now = b[i];
			}
		}
		
		
		if(cnt == n) {
			System.out.println(1+" "+Math.min(8, cnt));
		}
		else {
			System.out.println(min+" "+(cnt+min));
		}
		
		
	}
	
	static int atcoder(int a) {
		if(a>= 3200) return -1;
		if(a>= 2800) return 8;
		if(a>=2400) return 7;
		if(a>=2000) return 6;
		if(a>=1600) return 5;
		if(a>=1200)return 4;
		if(a>=800) return 3;
		if(a>=400) return 2;
		return 1;
	}

} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = Integer.parseInt(sc.next());
		int []a = new int [n];
		int []b = new int [n];
		
		for(int i = 0 ; i < n ;i++) {
			a[i] = Integer.parseInt(sc.next());
			b[i] = atcoder(a[i]);
		}
		
		int cnt = 0;
		int min = 0;
		int now = 0;
		Arrays.sort(b);
		for(int i = 0 ; i < n ;i++) {
			if(b[i] < 0) {
				cnt++;
			}
			else if(now != b[i]) {
				min++;
				now = b[i];
			}
		}
		
		
		if(cnt == n) {
			System.out.println(1+" "+Math.min(8, cnt));
		}
		else {
			System.out.println(min+" "+(cnt+min));
		}
		
		
	} main {
		Scanner sc = new Scanner(System.in);
		int n = Integer.parseInt(sc.next());
		int []a = new int [n];
		int []b = new int [n];
		
		for(int i = 0 ; i < n ;i++) {
			a[i] = Integer.parseInt(sc.next());
			b[i] = atcoder(a[i]);
		}
		
		int cnt = 0;
		int min = 0;
		int now = 0;
		Arrays.sort(b);
		for(int i = 0 ; i < n ;i++) {
			if(b[i] < 0) {
				cnt++;
			}
			else if(now != b[i]) {
				min++;
				now = b[i];
			}
		}
		
		
		if(cnt == n) {
			System.out.println(1+" "+Math.min(8, cnt));
		}
		else {
			System.out.println(min+" "+(cnt+min));
		}
		
		
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n = Integer.parseInt(sc.next()); n Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc int []a = new int [n]; a new int [n] n int []b = new int [n]; b new int [n] n for(int i = 0 ; i < n ;i++) {
			a[i] = Integer.parseInt(sc.next());
			b[i] = atcoder(a[i]);
		} int i = 0 ; int i = 0 ; i 0 i < n i n i++ i++ i {
			a[i] = Integer.parseInt(sc.next());
			b[i] = atcoder(a[i]);
		} {
			a[i] = Integer.parseInt(sc.next());
			b[i] = atcoder(a[i]);
		} a[i] = Integer.parseInt(sc.next()) a[i] a i Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc b[i] = atcoder(a[i]) b[i] b i atcoder(a[i]) atcoder a[i] a i int cnt = 0; cnt 0 int min = 0; min 0 int now = 0; now 0 Arrays.sort(b) Arrays.sort Arrays b for(int i = 0 ; i < n ;i++) {
			if(b[i] < 0) {
				cnt++;
			}
			else if(now != b[i]) {
				min++;
				now = b[i];
			}
		} int i = 0 ; int i = 0 ; i 0 i < n i n i++ i++ i {
			if(b[i] < 0) {
				cnt++;
			}
			else if(now != b[i]) {
				min++;
				now = b[i];
			}
		} {
			if(b[i] < 0) {
				cnt++;
			}
			else if(now != b[i]) {
				min++;
				now = b[i];
			}
		} if(b[i] < 0) {
				cnt++;
			}
			else if(now != b[i]) {
				min++;
				now = b[i];
			} b[i] < 0 b[i] b i 0 {
				cnt++;
			} cnt++ cnt if(now != b[i]) {
				min++;
				now = b[i];
			} now != b[i] now b[i] b i {
				min++;
				now = b[i];
			} min++ min now = b[i] now b[i] b i if(cnt == n) {
			System.out.println(1+" "+Math.min(8, cnt));
		}
		else {
			System.out.println(min+" "+(cnt+min));
		} cnt == n cnt n {
			System.out.println(1+" "+Math.min(8, cnt));
		} System.out.println(1+" "+Math.min(8, cnt)) System.out.println System.out System System.out 1+" "+Math.min(8, cnt) 1+" "+Math.min(8, cnt) 1 " " Math.min(8, cnt) Math.min Math 8 cnt {
			System.out.println(min+" "+(cnt+min));
		} System.out.println(min+" "+(cnt+min)) System.out.println System.out System System.out min+" "+(cnt+min) min+" "+(cnt+min) min " " (cnt+min) cnt min String[] args args static int atcoder(int a) {
		if(a>= 3200) return -1;
		if(a>= 2800) return 8;
		if(a>=2400) return 7;
		if(a>=2000) return 6;
		if(a>=1600) return 5;
		if(a>=1200)return 4;
		if(a>=800) return 3;
		if(a>=400) return 2;
		return 1;
	} atcoder {
		if(a>= 3200) return -1;
		if(a>= 2800) return 8;
		if(a>=2400) return 7;
		if(a>=2000) return 6;
		if(a>=1600) return 5;
		if(a>=1200)return 4;
		if(a>=800) return 3;
		if(a>=400) return 2;
		return 1;
	} if(a>= 3200) return -1; a>= 3200 a 3200 return -1; -1 1 if(a>= 2800) return 8; a>= 2800 a 2800 return 8; 8 if(a>=2400) return 7; a>=2400 a 2400 return 7; 7 if(a>=2000) return 6; a>=2000 a 2000 return 6; 6 if(a>=1600) return 5; a>=1600 a 1600 return 5; 5 if(a>=1200)return 4; a>=1200 a 1200 return 4; 4 if(a>=800) return 3; a>=800 a 800 return 3; 3 if(a>=400) return 2; a>=400 a 400 return 2; 2 return 1; 1 int a a public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = Integer.parseInt(sc.next());
		int []a = new int [n];
		int []b = new int [n];
		
		for(int i = 0 ; i < n ;i++) {
			a[i] = Integer.parseInt(sc.next());
			b[i] = atcoder(a[i]);
		}
		
		int cnt = 0;
		int min = 0;
		int now = 0;
		Arrays.sort(b);
		for(int i = 0 ; i < n ;i++) {
			if(b[i] < 0) {
				cnt++;
			}
			else if(now != b[i]) {
				min++;
				now = b[i];
			}
		}
		
		
		if(cnt == n) {
			System.out.println(1+" "+Math.min(8, cnt));
		}
		else {
			System.out.println(min+" "+(cnt+min));
		}
		
		
	}
	
	static int atcoder(int a) {
		if(a>= 3200) return -1;
		if(a>= 2800) return 8;
		if(a>=2400) return 7;
		if(a>=2000) return 6;
		if(a>=1600) return 5;
		if(a>=1200)return 4;
		if(a>=800) return 3;
		if(a>=400) return 2;
		return 1;
	}

} public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = Integer.parseInt(sc.next());
		int []a = new int [n];
		int []b = new int [n];
		
		for(int i = 0 ; i < n ;i++) {
			a[i] = Integer.parseInt(sc.next());
			b[i] = atcoder(a[i]);
		}
		
		int cnt = 0;
		int min = 0;
		int now = 0;
		Arrays.sort(b);
		for(int i = 0 ; i < n ;i++) {
			if(b[i] < 0) {
				cnt++;
			}
			else if(now != b[i]) {
				min++;
				now = b[i];
			}
		}
		
		
		if(cnt == n) {
			System.out.println(1+" "+Math.min(8, cnt));
		}
		else {
			System.out.println(min+" "+(cnt+min));
		}
		
		
	}
	
	static int atcoder(int a) {
		if(a>= 3200) return -1;
		if(a>= 2800) return 8;
		if(a>=2400) return 7;
		if(a>=2000) return 6;
		if(a>=1600) return 5;
		if(a>=1200)return 4;
		if(a>=800) return 3;
		if(a>=400) return 2;
		return 1;
	}

} Main

import java.util.Arrays;
import java.util.Scanner;
public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = Integer.parseInt(sc.next());
		int []a = new int [n];
		int []b = new int [n];
		
		for(int i = 0 ; i < n ;i++) {
			a[i] = Integer.parseInt(sc.next());
			b[i] = atcoder(a[i]);
		}
		
		int cnt = 0;
		int min = 0;
		int now = 0;
		Arrays.sort(b);
		for(int i = 0 ; i < n ;i++) {
			if(b[i] < 0) {
				cnt++;
			}
			else if(now != b[i]) {
				min++;
				now = b[i];
			}
		}
		
		
		if(cnt == n) {
			System.out.println(1+" "+Math.min(8, cnt));
		}
		else {
			System.out.println(min+" "+(cnt+min));
		}
		
		
	}
	
	static int atcoder(int a) {
		if(a>= 3200) return -1;
		if(a>= 2800) return 8;
		if(a>=2400) return 7;
		if(a>=2000) return 6;
		if(a>=1600) return 5;
		if(a>=1200)return 4;
		if(a>=800) return 3;
		if(a>=400) return 2;
		return 1;
	}

}
