import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int n = scan.nextInt();
		int min = 0, max = 0;
		boolean[] flgs = new boolean[8];
		for(int i = 0; i < flgs.length; i++) {
			flgs[i] = false;
		}
		for(int i = 0; i < n; i++) {
			int score = scan.nextInt();
			if(3200 <= score) {
				max++;
			} else {
				for(int j=0; j<flgs.length; j++) {
					if(400*j <= score && score < 400*(j+1)) {
						flgs[j] = true;
					}
				}
			}
		}
		scan.close();
		for(int i=0; i<flgs.length; i++) {
			if(flgs[i]) {
				min++;
			}
		}
		max += min;
		if(max != 0 && min == 0) {
			min = 1;
		}
		System.out.println(min+" "+max);
	}

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

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int n = scan.nextInt();
		int min = 0, max = 0;
		boolean[] flgs = new boolean[8];
		for(int i = 0; i < flgs.length; i++) {
			flgs[i] = false;
		}
		for(int i = 0; i < n; i++) {
			int score = scan.nextInt();
			if(3200 <= score) {
				max++;
			} else {
				for(int j=0; j<flgs.length; j++) {
					if(400*j <= score && score < 400*(j+1)) {
						flgs[j] = true;
					}
				}
			}
		}
		scan.close();
		for(int i=0; i<flgs.length; i++) {
			if(flgs[i]) {
				min++;
			}
		}
		max += min;
		if(max != 0 && min == 0) {
			min = 1;
		}
		System.out.println(min+" "+max);
	}

} Main public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int n = scan.nextInt();
		int min = 0, max = 0;
		boolean[] flgs = new boolean[8];
		for(int i = 0; i < flgs.length; i++) {
			flgs[i] = false;
		}
		for(int i = 0; i < n; i++) {
			int score = scan.nextInt();
			if(3200 <= score) {
				max++;
			} else {
				for(int j=0; j<flgs.length; j++) {
					if(400*j <= score && score < 400*(j+1)) {
						flgs[j] = true;
					}
				}
			}
		}
		scan.close();
		for(int i=0; i<flgs.length; i++) {
			if(flgs[i]) {
				min++;
			}
		}
		max += min;
		if(max != 0 && min == 0) {
			min = 1;
		}
		System.out.println(min+" "+max);
	} main {
		Scanner scan = new Scanner(System.in);
		int n = scan.nextInt();
		int min = 0, max = 0;
		boolean[] flgs = new boolean[8];
		for(int i = 0; i < flgs.length; i++) {
			flgs[i] = false;
		}
		for(int i = 0; i < n; i++) {
			int score = scan.nextInt();
			if(3200 <= score) {
				max++;
			} else {
				for(int j=0; j<flgs.length; j++) {
					if(400*j <= score && score < 400*(j+1)) {
						flgs[j] = true;
					}
				}
			}
		}
		scan.close();
		for(int i=0; i<flgs.length; i++) {
			if(flgs[i]) {
				min++;
			}
		}
		max += min;
		if(max != 0 && min == 0) {
			min = 1;
		}
		System.out.println(min+" "+max);
	} Scanner scan = new Scanner(System.in); scan new Scanner(System.in) int n = scan.nextInt(); n scan.nextInt() scan.nextInt scan int min = 0 min 0 max = 0; max 0 boolean[] flgs = new boolean[8]; flgs new boolean[8] 8 for(int i = 0; i < flgs.length; i++) {
			flgs[i] = false;
		} int i = 0; int i = 0; i 0 i < flgs.length i flgs.length flgs flgs.length i++ i++ i {
			flgs[i] = false;
		} {
			flgs[i] = false;
		} flgs[i] = false flgs[i] flgs i false for(int i = 0; i < n; i++) {
			int score = scan.nextInt();
			if(3200 <= score) {
				max++;
			} else {
				for(int j=0; j<flgs.length; j++) {
					if(400*j <= score && score < 400*(j+1)) {
						flgs[j] = true;
					}
				}
			}
		} int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
			int score = scan.nextInt();
			if(3200 <= score) {
				max++;
			} else {
				for(int j=0; j<flgs.length; j++) {
					if(400*j <= score && score < 400*(j+1)) {
						flgs[j] = true;
					}
				}
			}
		} {
			int score = scan.nextInt();
			if(3200 <= score) {
				max++;
			} else {
				for(int j=0; j<flgs.length; j++) {
					if(400*j <= score && score < 400*(j+1)) {
						flgs[j] = true;
					}
				}
			}
		} int score = scan.nextInt(); score scan.nextInt() scan.nextInt scan if(3200 <= score) {
				max++;
			} else {
				for(int j=0; j<flgs.length; j++) {
					if(400*j <= score && score < 400*(j+1)) {
						flgs[j] = true;
					}
				}
			} 3200 <= score 3200 score {
				max++;
			} max++ max {
				for(int j=0; j<flgs.length; j++) {
					if(400*j <= score && score < 400*(j+1)) {
						flgs[j] = true;
					}
				}
			} for(int j=0; j<flgs.length; j++) {
					if(400*j <= score && score < 400*(j+1)) {
						flgs[j] = true;
					}
				} int j=0; int j=0; j 0 j<flgs.length j flgs.length flgs flgs.length j++ j++ j {
					if(400*j <= score && score < 400*(j+1)) {
						flgs[j] = true;
					}
				} {
					if(400*j <= score && score < 400*(j+1)) {
						flgs[j] = true;
					}
				} if(400*j <= score && score < 400*(j+1)) {
						flgs[j] = true;
					} 400*j <= score && score < 400*(j+1) 400*j <= score 400*j 400 j score score < 400*(j+1) score 400*(j+1) 400 (j+1) j 1 {
						flgs[j] = true;
					} flgs[j] = true flgs[j] flgs j true scan.close() scan.close scan for(int i=0; i<flgs.length; i++) {
			if(flgs[i]) {
				min++;
			}
		} int i=0; int i=0; i 0 i<flgs.length i flgs.length flgs flgs.length i++ i++ i {
			if(flgs[i]) {
				min++;
			}
		} {
			if(flgs[i]) {
				min++;
			}
		} if(flgs[i]) {
				min++;
			} flgs[i] flgs i {
				min++;
			} min++ min max += min max min if(max != 0 && min == 0) {
			min = 1;
		} max != 0 && min == 0 max != 0 max 0 min == 0 min 0 {
			min = 1;
		} min = 1 min 1 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 {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int n = scan.nextInt();
		int min = 0, max = 0;
		boolean[] flgs = new boolean[8];
		for(int i = 0; i < flgs.length; i++) {
			flgs[i] = false;
		}
		for(int i = 0; i < n; i++) {
			int score = scan.nextInt();
			if(3200 <= score) {
				max++;
			} else {
				for(int j=0; j<flgs.length; j++) {
					if(400*j <= score && score < 400*(j+1)) {
						flgs[j] = true;
					}
				}
			}
		}
		scan.close();
		for(int i=0; i<flgs.length; i++) {
			if(flgs[i]) {
				min++;
			}
		}
		max += min;
		if(max != 0 && min == 0) {
			min = 1;
		}
		System.out.println(min+" "+max);
	}

} public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int n = scan.nextInt();
		int min = 0, max = 0;
		boolean[] flgs = new boolean[8];
		for(int i = 0; i < flgs.length; i++) {
			flgs[i] = false;
		}
		for(int i = 0; i < n; i++) {
			int score = scan.nextInt();
			if(3200 <= score) {
				max++;
			} else {
				for(int j=0; j<flgs.length; j++) {
					if(400*j <= score && score < 400*(j+1)) {
						flgs[j] = true;
					}
				}
			}
		}
		scan.close();
		for(int i=0; i<flgs.length; i++) {
			if(flgs[i]) {
				min++;
			}
		}
		max += min;
		if(max != 0 && min == 0) {
			min = 1;
		}
		System.out.println(min+" "+max);
	}

} Main
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int n = scan.nextInt();
		int min = 0, max = 0;
		boolean[] flgs = new boolean[8];
		for(int i = 0; i < flgs.length; i++) {
			flgs[i] = false;
		}
		for(int i = 0; i < n; i++) {
			int score = scan.nextInt();
			if(3200 <= score) {
				max++;
			} else {
				for(int j=0; j<flgs.length; j++) {
					if(400*j <= score && score < 400*(j+1)) {
						flgs[j] = true;
					}
				}
			}
		}
		scan.close();
		for(int i=0; i<flgs.length; i++) {
			if(flgs[i]) {
				min++;
			}
		}
		max += min;
		if(max != 0 && min == 0) {
			min = 1;
		}
		System.out.println(min+" "+max);
	}

}