import java.util.*;

public class Main {
	public static void main (String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		char[] arr = new char[n];
		for (int i = 0; i < n; i++) {
			int a = sc.nextInt();
			switch (a / 400) {
				case 0 :
				arr[i] = 'a';
				break;
				case 1 :
				arr[i] = 'b';
				break;
				case 2 :
				arr[i] = 'c';
				break;
				case 3 :
				arr[i] = 'd';
				break;
				case 4 :
				arr[i] = 'e';
				break;
				case 5 :
				arr[i] = 'f';
				break;
				case 6 :
				arr[i] = 'g';
				break;
				case 7 :
				arr[i] = 'h';
				break;
				default :
				arr[i] = 'x';
				break;
			}
		}
		Arrays.sort(arr);
		int cCount = 0;
		int xCount = 0;
		for (int i = 0; i < n; i++) {
			if (arr[i] == 'x') {
				xCount++;
			} else {
				if (i == 0) {
					cCount++;
				} else if (arr[i - 1] != arr[i]) {
					cCount++;
				}
			}
		}
		int min = cCount;
		if (min == 0) {
			min = 1;
		}
		int max = cCount + xCount;
		System.out.println(min + " " + max);
	}
} import java.util.*; util.* java public class Main {
	public static void main (String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		char[] arr = new char[n];
		for (int i = 0; i < n; i++) {
			int a = sc.nextInt();
			switch (a / 400) {
				case 0 :
				arr[i] = 'a';
				break;
				case 1 :
				arr[i] = 'b';
				break;
				case 2 :
				arr[i] = 'c';
				break;
				case 3 :
				arr[i] = 'd';
				break;
				case 4 :
				arr[i] = 'e';
				break;
				case 5 :
				arr[i] = 'f';
				break;
				case 6 :
				arr[i] = 'g';
				break;
				case 7 :
				arr[i] = 'h';
				break;
				default :
				arr[i] = 'x';
				break;
			}
		}
		Arrays.sort(arr);
		int cCount = 0;
		int xCount = 0;
		for (int i = 0; i < n; i++) {
			if (arr[i] == 'x') {
				xCount++;
			} else {
				if (i == 0) {
					cCount++;
				} else if (arr[i - 1] != arr[i]) {
					cCount++;
				}
			}
		}
		int min = cCount;
		if (min == 0) {
			min = 1;
		}
		int max = cCount + xCount;
		System.out.println(min + " " + max);
	}
} Main public static void main (String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		char[] arr = new char[n];
		for (int i = 0; i < n; i++) {
			int a = sc.nextInt();
			switch (a / 400) {
				case 0 :
				arr[i] = 'a';
				break;
				case 1 :
				arr[i] = 'b';
				break;
				case 2 :
				arr[i] = 'c';
				break;
				case 3 :
				arr[i] = 'd';
				break;
				case 4 :
				arr[i] = 'e';
				break;
				case 5 :
				arr[i] = 'f';
				break;
				case 6 :
				arr[i] = 'g';
				break;
				case 7 :
				arr[i] = 'h';
				break;
				default :
				arr[i] = 'x';
				break;
			}
		}
		Arrays.sort(arr);
		int cCount = 0;
		int xCount = 0;
		for (int i = 0; i < n; i++) {
			if (arr[i] == 'x') {
				xCount++;
			} else {
				if (i == 0) {
					cCount++;
				} else if (arr[i - 1] != arr[i]) {
					cCount++;
				}
			}
		}
		int min = cCount;
		if (min == 0) {
			min = 1;
		}
		int max = cCount + xCount;
		System.out.println(min + " " + max);
	} main {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		char[] arr = new char[n];
		for (int i = 0; i < n; i++) {
			int a = sc.nextInt();
			switch (a / 400) {
				case 0 :
				arr[i] = 'a';
				break;
				case 1 :
				arr[i] = 'b';
				break;
				case 2 :
				arr[i] = 'c';
				break;
				case 3 :
				arr[i] = 'd';
				break;
				case 4 :
				arr[i] = 'e';
				break;
				case 5 :
				arr[i] = 'f';
				break;
				case 6 :
				arr[i] = 'g';
				break;
				case 7 :
				arr[i] = 'h';
				break;
				default :
				arr[i] = 'x';
				break;
			}
		}
		Arrays.sort(arr);
		int cCount = 0;
		int xCount = 0;
		for (int i = 0; i < n; i++) {
			if (arr[i] == 'x') {
				xCount++;
			} else {
				if (i == 0) {
					cCount++;
				} else if (arr[i - 1] != arr[i]) {
					cCount++;
				}
			}
		}
		int min = cCount;
		if (min == 0) {
			min = 1;
		}
		int max = cCount + xCount;
		System.out.println(min + " " + max);
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc char[] arr = new char[n]; arr new char[n] n for (int i = 0; i < n; i++) {
			int a = sc.nextInt();
			switch (a / 400) {
				case 0 :
				arr[i] = 'a';
				break;
				case 1 :
				arr[i] = 'b';
				break;
				case 2 :
				arr[i] = 'c';
				break;
				case 3 :
				arr[i] = 'd';
				break;
				case 4 :
				arr[i] = 'e';
				break;
				case 5 :
				arr[i] = 'f';
				break;
				case 6 :
				arr[i] = 'g';
				break;
				case 7 :
				arr[i] = 'h';
				break;
				default :
				arr[i] = 'x';
				break;
			}
		} int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
			int a = sc.nextInt();
			switch (a / 400) {
				case 0 :
				arr[i] = 'a';
				break;
				case 1 :
				arr[i] = 'b';
				break;
				case 2 :
				arr[i] = 'c';
				break;
				case 3 :
				arr[i] = 'd';
				break;
				case 4 :
				arr[i] = 'e';
				break;
				case 5 :
				arr[i] = 'f';
				break;
				case 6 :
				arr[i] = 'g';
				break;
				case 7 :
				arr[i] = 'h';
				break;
				default :
				arr[i] = 'x';
				break;
			}
		} {
			int a = sc.nextInt();
			switch (a / 400) {
				case 0 :
				arr[i] = 'a';
				break;
				case 1 :
				arr[i] = 'b';
				break;
				case 2 :
				arr[i] = 'c';
				break;
				case 3 :
				arr[i] = 'd';
				break;
				case 4 :
				arr[i] = 'e';
				break;
				case 5 :
				arr[i] = 'f';
				break;
				case 6 :
				arr[i] = 'g';
				break;
				case 7 :
				arr[i] = 'h';
				break;
				default :
				arr[i] = 'x';
				break;
			}
		} int a = sc.nextInt(); a sc.nextInt() sc.nextInt sc switch (a / 400) {
				case 0 :
				arr[i] = 'a';
				break;
				case 1 :
				arr[i] = 'b';
				break;
				case 2 :
				arr[i] = 'c';
				break;
				case 3 :
				arr[i] = 'd';
				break;
				case 4 :
				arr[i] = 'e';
				break;
				case 5 :
				arr[i] = 'f';
				break;
				case 6 :
				arr[i] = 'g';
				break;
				case 7 :
				arr[i] = 'h';
				break;
				default :
				arr[i] = 'x';
				break;
			} a / 400 a 400 case 0 : 0 case 0 : arr[i] = 'a' arr[i] arr i 'a' break; case 1 : 1 case 1 : arr[i] = 'b' arr[i] arr i 'b' break; case 2 : 2 case 2 : arr[i] = 'c' arr[i] arr i 'c' break; case 3 : 3 case 3 : arr[i] = 'd' arr[i] arr i 'd' break; case 4 : 4 case 4 : arr[i] = 'e' arr[i] arr i 'e' break; case 5 : 5 case 5 : arr[i] = 'f' arr[i] arr i 'f' break; case 6 : 6 case 6 : arr[i] = 'g' arr[i] arr i 'g' break; case 7 : 7 case 7 : arr[i] = 'h' arr[i] arr i 'h' break; default : default : arr[i] = 'x' arr[i] arr i 'x' break; Arrays.sort(arr) Arrays.sort Arrays arr int cCount = 0; cCount 0 int xCount = 0; xCount 0 for (int i = 0; i < n; i++) {
			if (arr[i] == 'x') {
				xCount++;
			} else {
				if (i == 0) {
					cCount++;
				} else if (arr[i - 1] != arr[i]) {
					cCount++;
				}
			}
		} int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
			if (arr[i] == 'x') {
				xCount++;
			} else {
				if (i == 0) {
					cCount++;
				} else if (arr[i - 1] != arr[i]) {
					cCount++;
				}
			}
		} {
			if (arr[i] == 'x') {
				xCount++;
			} else {
				if (i == 0) {
					cCount++;
				} else if (arr[i - 1] != arr[i]) {
					cCount++;
				}
			}
		} if (arr[i] == 'x') {
				xCount++;
			} else {
				if (i == 0) {
					cCount++;
				} else if (arr[i - 1] != arr[i]) {
					cCount++;
				}
			} arr[i] == 'x' arr[i] arr i 'x' {
				xCount++;
			} xCount++ xCount {
				if (i == 0) {
					cCount++;
				} else if (arr[i - 1] != arr[i]) {
					cCount++;
				}
			} if (i == 0) {
					cCount++;
				} else if (arr[i - 1] != arr[i]) {
					cCount++;
				} i == 0 i 0 {
					cCount++;
				} cCount++ cCount if (arr[i - 1] != arr[i]) {
					cCount++;
				} arr[i - 1] != arr[i] arr[i - 1] arr i - 1 i 1 arr[i] arr i {
					cCount++;
				} cCount++ cCount int min = cCount; min cCount if (min == 0) {
			min = 1;
		} min == 0 min 0 {
			min = 1;
		} min = 1 min 1 int max = cCount + xCount; max cCount + xCount cCount xCount 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 sc = new Scanner(System.in);
		int n = sc.nextInt();
		char[] arr = new char[n];
		for (int i = 0; i < n; i++) {
			int a = sc.nextInt();
			switch (a / 400) {
				case 0 :
				arr[i] = 'a';
				break;
				case 1 :
				arr[i] = 'b';
				break;
				case 2 :
				arr[i] = 'c';
				break;
				case 3 :
				arr[i] = 'd';
				break;
				case 4 :
				arr[i] = 'e';
				break;
				case 5 :
				arr[i] = 'f';
				break;
				case 6 :
				arr[i] = 'g';
				break;
				case 7 :
				arr[i] = 'h';
				break;
				default :
				arr[i] = 'x';
				break;
			}
		}
		Arrays.sort(arr);
		int cCount = 0;
		int xCount = 0;
		for (int i = 0; i < n; i++) {
			if (arr[i] == 'x') {
				xCount++;
			} else {
				if (i == 0) {
					cCount++;
				} else if (arr[i - 1] != arr[i]) {
					cCount++;
				}
			}
		}
		int min = cCount;
		if (min == 0) {
			min = 1;
		}
		int max = cCount + xCount;
		System.out.println(min + " " + max);
	}
} public class Main {
	public static void main (String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		char[] arr = new char[n];
		for (int i = 0; i < n; i++) {
			int a = sc.nextInt();
			switch (a / 400) {
				case 0 :
				arr[i] = 'a';
				break;
				case 1 :
				arr[i] = 'b';
				break;
				case 2 :
				arr[i] = 'c';
				break;
				case 3 :
				arr[i] = 'd';
				break;
				case 4 :
				arr[i] = 'e';
				break;
				case 5 :
				arr[i] = 'f';
				break;
				case 6 :
				arr[i] = 'g';
				break;
				case 7 :
				arr[i] = 'h';
				break;
				default :
				arr[i] = 'x';
				break;
			}
		}
		Arrays.sort(arr);
		int cCount = 0;
		int xCount = 0;
		for (int i = 0; i < n; i++) {
			if (arr[i] == 'x') {
				xCount++;
			} else {
				if (i == 0) {
					cCount++;
				} else if (arr[i - 1] != arr[i]) {
					cCount++;
				}
			}
		}
		int min = cCount;
		if (min == 0) {
			min = 1;
		}
		int max = cCount + xCount;
		System.out.println(min + " " + max);
	}
} Main
import java.util.*;

public class Main {
	public static void main (String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		char[] arr = new char[n];
		for (int i = 0; i < n; i++) {
			int a = sc.nextInt();
			switch (a / 400) {
				case 0 :
				arr[i] = 'a';
				break;
				case 1 :
				arr[i] = 'b';
				break;
				case 2 :
				arr[i] = 'c';
				break;
				case 3 :
				arr[i] = 'd';
				break;
				case 4 :
				arr[i] = 'e';
				break;
				case 5 :
				arr[i] = 'f';
				break;
				case 6 :
				arr[i] = 'g';
				break;
				case 7 :
				arr[i] = 'h';
				break;
				default :
				arr[i] = 'x';
				break;
			}
		}
		Arrays.sort(arr);
		int cCount = 0;
		int xCount = 0;
		for (int i = 0; i < n; i++) {
			if (arr[i] == 'x') {
				xCount++;
			} else {
				if (i == 0) {
					cCount++;
				} else if (arr[i - 1] != arr[i]) {
					cCount++;
				}
			}
		}
		int min = cCount;
		if (min == 0) {
			min = 1;
		}
		int max = cCount + xCount;
		System.out.println(min + " " + max);
	}
}
