import java.util.*;
public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] colors = new int[8];
		int ra = 0,total = 0,max;
		for(int i = 0;i <n;i++) {
			int a = sc.nextInt();
			if(1 <= a && a< 400) {
				colors[0] = 1;
			}else if(400 <= a && a< 800) {
				colors[1] = 1;
			}else if(800 <= a && a< 1200) {
				colors[2] = 1;
			}else if(1200 <= a && a< 1600) {
				colors[3] = 1;
			}else if(1600 <= a && a< 2000) {
				colors[4] = 1;
			}else if(2000 <= a && a< 2400) {
				colors[5] = 1;
			}else if(2400 <= a && a< 2800) {
				colors[6] = 1;
			}else if(2800 <= a && a< 3200) {
				colors[7] = 1;
			}else if(3200 <= a) {
				ra++;
			}
		}
		for(int i = 0;i <8;i++) {
			total = total + colors[i];
		}
		max = total +ra;
      	if(total < 1) {
			total = 1;
		}
		System.out.println(total+" "+max);
	}

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

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] colors = new int[8];
		int ra = 0,total = 0,max;
		for(int i = 0;i <n;i++) {
			int a = sc.nextInt();
			if(1 <= a && a< 400) {
				colors[0] = 1;
			}else if(400 <= a && a< 800) {
				colors[1] = 1;
			}else if(800 <= a && a< 1200) {
				colors[2] = 1;
			}else if(1200 <= a && a< 1600) {
				colors[3] = 1;
			}else if(1600 <= a && a< 2000) {
				colors[4] = 1;
			}else if(2000 <= a && a< 2400) {
				colors[5] = 1;
			}else if(2400 <= a && a< 2800) {
				colors[6] = 1;
			}else if(2800 <= a && a< 3200) {
				colors[7] = 1;
			}else if(3200 <= a) {
				ra++;
			}
		}
		for(int i = 0;i <8;i++) {
			total = total + colors[i];
		}
		max = total +ra;
      	if(total < 1) {
			total = 1;
		}
		System.out.println(total+" "+max);
	}

} Main public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] colors = new int[8];
		int ra = 0,total = 0,max;
		for(int i = 0;i <n;i++) {
			int a = sc.nextInt();
			if(1 <= a && a< 400) {
				colors[0] = 1;
			}else if(400 <= a && a< 800) {
				colors[1] = 1;
			}else if(800 <= a && a< 1200) {
				colors[2] = 1;
			}else if(1200 <= a && a< 1600) {
				colors[3] = 1;
			}else if(1600 <= a && a< 2000) {
				colors[4] = 1;
			}else if(2000 <= a && a< 2400) {
				colors[5] = 1;
			}else if(2400 <= a && a< 2800) {
				colors[6] = 1;
			}else if(2800 <= a && a< 3200) {
				colors[7] = 1;
			}else if(3200 <= a) {
				ra++;
			}
		}
		for(int i = 0;i <8;i++) {
			total = total + colors[i];
		}
		max = total +ra;
      	if(total < 1) {
			total = 1;
		}
		System.out.println(total+" "+max);
	} main {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] colors = new int[8];
		int ra = 0,total = 0,max;
		for(int i = 0;i <n;i++) {
			int a = sc.nextInt();
			if(1 <= a && a< 400) {
				colors[0] = 1;
			}else if(400 <= a && a< 800) {
				colors[1] = 1;
			}else if(800 <= a && a< 1200) {
				colors[2] = 1;
			}else if(1200 <= a && a< 1600) {
				colors[3] = 1;
			}else if(1600 <= a && a< 2000) {
				colors[4] = 1;
			}else if(2000 <= a && a< 2400) {
				colors[5] = 1;
			}else if(2400 <= a && a< 2800) {
				colors[6] = 1;
			}else if(2800 <= a && a< 3200) {
				colors[7] = 1;
			}else if(3200 <= a) {
				ra++;
			}
		}
		for(int i = 0;i <8;i++) {
			total = total + colors[i];
		}
		max = total +ra;
      	if(total < 1) {
			total = 1;
		}
		System.out.println(total+" "+max);
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc int[] colors = new int[8]; colors new int[8] 8 int ra = 0 ra 0 total = 0 total 0 max; max for(int i = 0;i <n;i++) {
			int a = sc.nextInt();
			if(1 <= a && a< 400) {
				colors[0] = 1;
			}else if(400 <= a && a< 800) {
				colors[1] = 1;
			}else if(800 <= a && a< 1200) {
				colors[2] = 1;
			}else if(1200 <= a && a< 1600) {
				colors[3] = 1;
			}else if(1600 <= a && a< 2000) {
				colors[4] = 1;
			}else if(2000 <= a && a< 2400) {
				colors[5] = 1;
			}else if(2400 <= a && a< 2800) {
				colors[6] = 1;
			}else if(2800 <= a && a< 3200) {
				colors[7] = 1;
			}else if(3200 <= a) {
				ra++;
			}
		} int i = 0; int i = 0; i 0 i <n i n i++ i++ i {
			int a = sc.nextInt();
			if(1 <= a && a< 400) {
				colors[0] = 1;
			}else if(400 <= a && a< 800) {
				colors[1] = 1;
			}else if(800 <= a && a< 1200) {
				colors[2] = 1;
			}else if(1200 <= a && a< 1600) {
				colors[3] = 1;
			}else if(1600 <= a && a< 2000) {
				colors[4] = 1;
			}else if(2000 <= a && a< 2400) {
				colors[5] = 1;
			}else if(2400 <= a && a< 2800) {
				colors[6] = 1;
			}else if(2800 <= a && a< 3200) {
				colors[7] = 1;
			}else if(3200 <= a) {
				ra++;
			}
		} {
			int a = sc.nextInt();
			if(1 <= a && a< 400) {
				colors[0] = 1;
			}else if(400 <= a && a< 800) {
				colors[1] = 1;
			}else if(800 <= a && a< 1200) {
				colors[2] = 1;
			}else if(1200 <= a && a< 1600) {
				colors[3] = 1;
			}else if(1600 <= a && a< 2000) {
				colors[4] = 1;
			}else if(2000 <= a && a< 2400) {
				colors[5] = 1;
			}else if(2400 <= a && a< 2800) {
				colors[6] = 1;
			}else if(2800 <= a && a< 3200) {
				colors[7] = 1;
			}else if(3200 <= a) {
				ra++;
			}
		} int a = sc.nextInt(); a sc.nextInt() sc.nextInt sc if(1 <= a && a< 400) {
				colors[0] = 1;
			}else if(400 <= a && a< 800) {
				colors[1] = 1;
			}else if(800 <= a && a< 1200) {
				colors[2] = 1;
			}else if(1200 <= a && a< 1600) {
				colors[3] = 1;
			}else if(1600 <= a && a< 2000) {
				colors[4] = 1;
			}else if(2000 <= a && a< 2400) {
				colors[5] = 1;
			}else if(2400 <= a && a< 2800) {
				colors[6] = 1;
			}else if(2800 <= a && a< 3200) {
				colors[7] = 1;
			}else if(3200 <= a) {
				ra++;
			} 1 <= a && a< 400 1 <= a 1 a a< 400 a 400 {
				colors[0] = 1;
			} colors[0] = 1 colors[0] colors 0 1 if(400 <= a && a< 800) {
				colors[1] = 1;
			}else if(800 <= a && a< 1200) {
				colors[2] = 1;
			}else if(1200 <= a && a< 1600) {
				colors[3] = 1;
			}else if(1600 <= a && a< 2000) {
				colors[4] = 1;
			}else if(2000 <= a && a< 2400) {
				colors[5] = 1;
			}else if(2400 <= a && a< 2800) {
				colors[6] = 1;
			}else if(2800 <= a && a< 3200) {
				colors[7] = 1;
			}else if(3200 <= a) {
				ra++;
			} 400 <= a && a< 800 400 <= a 400 a a< 800 a 800 {
				colors[1] = 1;
			} colors[1] = 1 colors[1] colors 1 1 if(800 <= a && a< 1200) {
				colors[2] = 1;
			}else if(1200 <= a && a< 1600) {
				colors[3] = 1;
			}else if(1600 <= a && a< 2000) {
				colors[4] = 1;
			}else if(2000 <= a && a< 2400) {
				colors[5] = 1;
			}else if(2400 <= a && a< 2800) {
				colors[6] = 1;
			}else if(2800 <= a && a< 3200) {
				colors[7] = 1;
			}else if(3200 <= a) {
				ra++;
			} 800 <= a && a< 1200 800 <= a 800 a a< 1200 a 1200 {
				colors[2] = 1;
			} colors[2] = 1 colors[2] colors 2 1 if(1200 <= a && a< 1600) {
				colors[3] = 1;
			}else if(1600 <= a && a< 2000) {
				colors[4] = 1;
			}else if(2000 <= a && a< 2400) {
				colors[5] = 1;
			}else if(2400 <= a && a< 2800) {
				colors[6] = 1;
			}else if(2800 <= a && a< 3200) {
				colors[7] = 1;
			}else if(3200 <= a) {
				ra++;
			} 1200 <= a && a< 1600 1200 <= a 1200 a a< 1600 a 1600 {
				colors[3] = 1;
			} colors[3] = 1 colors[3] colors 3 1 if(1600 <= a && a< 2000) {
				colors[4] = 1;
			}else if(2000 <= a && a< 2400) {
				colors[5] = 1;
			}else if(2400 <= a && a< 2800) {
				colors[6] = 1;
			}else if(2800 <= a && a< 3200) {
				colors[7] = 1;
			}else if(3200 <= a) {
				ra++;
			} 1600 <= a && a< 2000 1600 <= a 1600 a a< 2000 a 2000 {
				colors[4] = 1;
			} colors[4] = 1 colors[4] colors 4 1 if(2000 <= a && a< 2400) {
				colors[5] = 1;
			}else if(2400 <= a && a< 2800) {
				colors[6] = 1;
			}else if(2800 <= a && a< 3200) {
				colors[7] = 1;
			}else if(3200 <= a) {
				ra++;
			} 2000 <= a && a< 2400 2000 <= a 2000 a a< 2400 a 2400 {
				colors[5] = 1;
			} colors[5] = 1 colors[5] colors 5 1 if(2400 <= a && a< 2800) {
				colors[6] = 1;
			}else if(2800 <= a && a< 3200) {
				colors[7] = 1;
			}else if(3200 <= a) {
				ra++;
			} 2400 <= a && a< 2800 2400 <= a 2400 a a< 2800 a 2800 {
				colors[6] = 1;
			} colors[6] = 1 colors[6] colors 6 1 if(2800 <= a && a< 3200) {
				colors[7] = 1;
			}else if(3200 <= a) {
				ra++;
			} 2800 <= a && a< 3200 2800 <= a 2800 a a< 3200 a 3200 {
				colors[7] = 1;
			} colors[7] = 1 colors[7] colors 7 1 if(3200 <= a) {
				ra++;
			} 3200 <= a 3200 a {
				ra++;
			} ra++ ra for(int i = 0;i <8;i++) {
			total = total + colors[i];
		} int i = 0; int i = 0; i 0 i <8 i 8 i++ i++ i {
			total = total + colors[i];
		} {
			total = total + colors[i];
		} total = total + colors[i] total total + colors[i] total colors[i] colors i max = total +ra max total +ra total ra if(total < 1) {
			total = 1;
		} total < 1 total 1 {
			total = 1;
		} total = 1 total 1 System.out.println(total+" "+max) System.out.println System.out System System.out total+" "+max total+" "+max total " " max String[] args args public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] colors = new int[8];
		int ra = 0,total = 0,max;
		for(int i = 0;i <n;i++) {
			int a = sc.nextInt();
			if(1 <= a && a< 400) {
				colors[0] = 1;
			}else if(400 <= a && a< 800) {
				colors[1] = 1;
			}else if(800 <= a && a< 1200) {
				colors[2] = 1;
			}else if(1200 <= a && a< 1600) {
				colors[3] = 1;
			}else if(1600 <= a && a< 2000) {
				colors[4] = 1;
			}else if(2000 <= a && a< 2400) {
				colors[5] = 1;
			}else if(2400 <= a && a< 2800) {
				colors[6] = 1;
			}else if(2800 <= a && a< 3200) {
				colors[7] = 1;
			}else if(3200 <= a) {
				ra++;
			}
		}
		for(int i = 0;i <8;i++) {
			total = total + colors[i];
		}
		max = total +ra;
      	if(total < 1) {
			total = 1;
		}
		System.out.println(total+" "+max);
	}

} public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] colors = new int[8];
		int ra = 0,total = 0,max;
		for(int i = 0;i <n;i++) {
			int a = sc.nextInt();
			if(1 <= a && a< 400) {
				colors[0] = 1;
			}else if(400 <= a && a< 800) {
				colors[1] = 1;
			}else if(800 <= a && a< 1200) {
				colors[2] = 1;
			}else if(1200 <= a && a< 1600) {
				colors[3] = 1;
			}else if(1600 <= a && a< 2000) {
				colors[4] = 1;
			}else if(2000 <= a && a< 2400) {
				colors[5] = 1;
			}else if(2400 <= a && a< 2800) {
				colors[6] = 1;
			}else if(2800 <= a && a< 3200) {
				colors[7] = 1;
			}else if(3200 <= a) {
				ra++;
			}
		}
		for(int i = 0;i <8;i++) {
			total = total + colors[i];
		}
		max = total +ra;
      	if(total < 1) {
			total = 1;
		}
		System.out.println(total+" "+max);
	}

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

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] colors = new int[8];
		int ra = 0,total = 0,max;
		for(int i = 0;i <n;i++) {
			int a = sc.nextInt();
			if(1 <= a && a< 400) {
				colors[0] = 1;
			}else if(400 <= a && a< 800) {
				colors[1] = 1;
			}else if(800 <= a && a< 1200) {
				colors[2] = 1;
			}else if(1200 <= a && a< 1600) {
				colors[3] = 1;
			}else if(1600 <= a && a< 2000) {
				colors[4] = 1;
			}else if(2000 <= a && a< 2400) {
				colors[5] = 1;
			}else if(2400 <= a && a< 2800) {
				colors[6] = 1;
			}else if(2800 <= a && a< 3200) {
				colors[7] = 1;
			}else if(3200 <= a) {
				ra++;
			}
		}
		for(int i = 0;i <8;i++) {
			total = total + colors[i];
		}
		max = total +ra;
      	if(total < 1) {
			total = 1;
		}
		System.out.println(total+" "+max);
	}

}