import java.util.Arrays;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		int[] a = new int[n];
		boolean[] rate = new boolean[8];
		Arrays.fill(rate,false);
		int max = 0;
		for (int i = 0; i < n; i++) {
			a[i] = scanner.nextInt();
			if(a[i] < 400){
				rate[0] = true;
			}else if(a[i] < 800){
				rate[1] = true;
			}else if(a[i] < 1200){
				rate[2] = true;
			}else if(a[i] < 1600){
				rate[3] = true;
			}else if(a[i] < 2000){
				rate[4] = true;
			}else if(a[i] < 2400){
				rate[5] = true;
			}else if(a[i] < 2800){
				rate[6] = true;
			}else if(a[i] < 3200){
				rate[7] = true;
			}else if(a[i] <= 4800){
				max++;
			}
		}
		int c = 0;
		for (boolean r:rate){
			if(r){
				c++;
			}
		}
		max+=c;
		if(c==0 && max>0){
			c = 1;
		}
		System.out.println(c + " " + max);
	}
} import java.util.Arrays; Arrays java.util import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		int[] a = new int[n];
		boolean[] rate = new boolean[8];
		Arrays.fill(rate,false);
		int max = 0;
		for (int i = 0; i < n; i++) {
			a[i] = scanner.nextInt();
			if(a[i] < 400){
				rate[0] = true;
			}else if(a[i] < 800){
				rate[1] = true;
			}else if(a[i] < 1200){
				rate[2] = true;
			}else if(a[i] < 1600){
				rate[3] = true;
			}else if(a[i] < 2000){
				rate[4] = true;
			}else if(a[i] < 2400){
				rate[5] = true;
			}else if(a[i] < 2800){
				rate[6] = true;
			}else if(a[i] < 3200){
				rate[7] = true;
			}else if(a[i] <= 4800){
				max++;
			}
		}
		int c = 0;
		for (boolean r:rate){
			if(r){
				c++;
			}
		}
		max+=c;
		if(c==0 && max>0){
			c = 1;
		}
		System.out.println(c + " " + max);
	}
} Main public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		int[] a = new int[n];
		boolean[] rate = new boolean[8];
		Arrays.fill(rate,false);
		int max = 0;
		for (int i = 0; i < n; i++) {
			a[i] = scanner.nextInt();
			if(a[i] < 400){
				rate[0] = true;
			}else if(a[i] < 800){
				rate[1] = true;
			}else if(a[i] < 1200){
				rate[2] = true;
			}else if(a[i] < 1600){
				rate[3] = true;
			}else if(a[i] < 2000){
				rate[4] = true;
			}else if(a[i] < 2400){
				rate[5] = true;
			}else if(a[i] < 2800){
				rate[6] = true;
			}else if(a[i] < 3200){
				rate[7] = true;
			}else if(a[i] <= 4800){
				max++;
			}
		}
		int c = 0;
		for (boolean r:rate){
			if(r){
				c++;
			}
		}
		max+=c;
		if(c==0 && max>0){
			c = 1;
		}
		System.out.println(c + " " + max);
	} main {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		int[] a = new int[n];
		boolean[] rate = new boolean[8];
		Arrays.fill(rate,false);
		int max = 0;
		for (int i = 0; i < n; i++) {
			a[i] = scanner.nextInt();
			if(a[i] < 400){
				rate[0] = true;
			}else if(a[i] < 800){
				rate[1] = true;
			}else if(a[i] < 1200){
				rate[2] = true;
			}else if(a[i] < 1600){
				rate[3] = true;
			}else if(a[i] < 2000){
				rate[4] = true;
			}else if(a[i] < 2400){
				rate[5] = true;
			}else if(a[i] < 2800){
				rate[6] = true;
			}else if(a[i] < 3200){
				rate[7] = true;
			}else if(a[i] <= 4800){
				max++;
			}
		}
		int c = 0;
		for (boolean r:rate){
			if(r){
				c++;
			}
		}
		max+=c;
		if(c==0 && max>0){
			c = 1;
		}
		System.out.println(c + " " + max);
	} Scanner scanner = new Scanner(System.in); scanner new Scanner(System.in) int n = scanner.nextInt(); n scanner.nextInt() scanner.nextInt scanner int[] a = new int[n]; a new int[n] n boolean[] rate = new boolean[8]; rate new boolean[8] 8 Arrays.fill(rate,false) Arrays.fill Arrays rate false int max = 0; max 0 for (int i = 0; i < n; i++) {
			a[i] = scanner.nextInt();
			if(a[i] < 400){
				rate[0] = true;
			}else if(a[i] < 800){
				rate[1] = true;
			}else if(a[i] < 1200){
				rate[2] = true;
			}else if(a[i] < 1600){
				rate[3] = true;
			}else if(a[i] < 2000){
				rate[4] = true;
			}else if(a[i] < 2400){
				rate[5] = true;
			}else if(a[i] < 2800){
				rate[6] = true;
			}else if(a[i] < 3200){
				rate[7] = true;
			}else if(a[i] <= 4800){
				max++;
			}
		} int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
			a[i] = scanner.nextInt();
			if(a[i] < 400){
				rate[0] = true;
			}else if(a[i] < 800){
				rate[1] = true;
			}else if(a[i] < 1200){
				rate[2] = true;
			}else if(a[i] < 1600){
				rate[3] = true;
			}else if(a[i] < 2000){
				rate[4] = true;
			}else if(a[i] < 2400){
				rate[5] = true;
			}else if(a[i] < 2800){
				rate[6] = true;
			}else if(a[i] < 3200){
				rate[7] = true;
			}else if(a[i] <= 4800){
				max++;
			}
		} {
			a[i] = scanner.nextInt();
			if(a[i] < 400){
				rate[0] = true;
			}else if(a[i] < 800){
				rate[1] = true;
			}else if(a[i] < 1200){
				rate[2] = true;
			}else if(a[i] < 1600){
				rate[3] = true;
			}else if(a[i] < 2000){
				rate[4] = true;
			}else if(a[i] < 2400){
				rate[5] = true;
			}else if(a[i] < 2800){
				rate[6] = true;
			}else if(a[i] < 3200){
				rate[7] = true;
			}else if(a[i] <= 4800){
				max++;
			}
		} a[i] = scanner.nextInt() a[i] a i scanner.nextInt() scanner.nextInt scanner if(a[i] < 400){
				rate[0] = true;
			}else if(a[i] < 800){
				rate[1] = true;
			}else if(a[i] < 1200){
				rate[2] = true;
			}else if(a[i] < 1600){
				rate[3] = true;
			}else if(a[i] < 2000){
				rate[4] = true;
			}else if(a[i] < 2400){
				rate[5] = true;
			}else if(a[i] < 2800){
				rate[6] = true;
			}else if(a[i] < 3200){
				rate[7] = true;
			}else if(a[i] <= 4800){
				max++;
			} a[i] < 400 a[i] a i 400 {
				rate[0] = true;
			} rate[0] = true rate[0] rate 0 true if(a[i] < 800){
				rate[1] = true;
			}else if(a[i] < 1200){
				rate[2] = true;
			}else if(a[i] < 1600){
				rate[3] = true;
			}else if(a[i] < 2000){
				rate[4] = true;
			}else if(a[i] < 2400){
				rate[5] = true;
			}else if(a[i] < 2800){
				rate[6] = true;
			}else if(a[i] < 3200){
				rate[7] = true;
			}else if(a[i] <= 4800){
				max++;
			} a[i] < 800 a[i] a i 800 {
				rate[1] = true;
			} rate[1] = true rate[1] rate 1 true if(a[i] < 1200){
				rate[2] = true;
			}else if(a[i] < 1600){
				rate[3] = true;
			}else if(a[i] < 2000){
				rate[4] = true;
			}else if(a[i] < 2400){
				rate[5] = true;
			}else if(a[i] < 2800){
				rate[6] = true;
			}else if(a[i] < 3200){
				rate[7] = true;
			}else if(a[i] <= 4800){
				max++;
			} a[i] < 1200 a[i] a i 1200 {
				rate[2] = true;
			} rate[2] = true rate[2] rate 2 true if(a[i] < 1600){
				rate[3] = true;
			}else if(a[i] < 2000){
				rate[4] = true;
			}else if(a[i] < 2400){
				rate[5] = true;
			}else if(a[i] < 2800){
				rate[6] = true;
			}else if(a[i] < 3200){
				rate[7] = true;
			}else if(a[i] <= 4800){
				max++;
			} a[i] < 1600 a[i] a i 1600 {
				rate[3] = true;
			} rate[3] = true rate[3] rate 3 true if(a[i] < 2000){
				rate[4] = true;
			}else if(a[i] < 2400){
				rate[5] = true;
			}else if(a[i] < 2800){
				rate[6] = true;
			}else if(a[i] < 3200){
				rate[7] = true;
			}else if(a[i] <= 4800){
				max++;
			} a[i] < 2000 a[i] a i 2000 {
				rate[4] = true;
			} rate[4] = true rate[4] rate 4 true if(a[i] < 2400){
				rate[5] = true;
			}else if(a[i] < 2800){
				rate[6] = true;
			}else if(a[i] < 3200){
				rate[7] = true;
			}else if(a[i] <= 4800){
				max++;
			} a[i] < 2400 a[i] a i 2400 {
				rate[5] = true;
			} rate[5] = true rate[5] rate 5 true if(a[i] < 2800){
				rate[6] = true;
			}else if(a[i] < 3200){
				rate[7] = true;
			}else if(a[i] <= 4800){
				max++;
			} a[i] < 2800 a[i] a i 2800 {
				rate[6] = true;
			} rate[6] = true rate[6] rate 6 true if(a[i] < 3200){
				rate[7] = true;
			}else if(a[i] <= 4800){
				max++;
			} a[i] < 3200 a[i] a i 3200 {
				rate[7] = true;
			} rate[7] = true rate[7] rate 7 true if(a[i] <= 4800){
				max++;
			} a[i] <= 4800 a[i] a i 4800 {
				max++;
			} max++ max int c = 0; c 0 for (boolean r:rate){
			if(r){
				c++;
			}
		} boolean r rate {
			if(r){
				c++;
			}
		} {
			if(r){
				c++;
			}
		} if(r){
				c++;
			} r {
				c++;
			} c++ c max+=c max c if(c==0 && max>0){
			c = 1;
		} c==0 && max>0 c==0 c 0 max>0 max 0 {
			c = 1;
		} c = 1 c 1 System.out.println(c + " " + max) System.out.println System.out System System.out c + " " + max c + " " + max c " " max String[] args args public class Main {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		int[] a = new int[n];
		boolean[] rate = new boolean[8];
		Arrays.fill(rate,false);
		int max = 0;
		for (int i = 0; i < n; i++) {
			a[i] = scanner.nextInt();
			if(a[i] < 400){
				rate[0] = true;
			}else if(a[i] < 800){
				rate[1] = true;
			}else if(a[i] < 1200){
				rate[2] = true;
			}else if(a[i] < 1600){
				rate[3] = true;
			}else if(a[i] < 2000){
				rate[4] = true;
			}else if(a[i] < 2400){
				rate[5] = true;
			}else if(a[i] < 2800){
				rate[6] = true;
			}else if(a[i] < 3200){
				rate[7] = true;
			}else if(a[i] <= 4800){
				max++;
			}
		}
		int c = 0;
		for (boolean r:rate){
			if(r){
				c++;
			}
		}
		max+=c;
		if(c==0 && max>0){
			c = 1;
		}
		System.out.println(c + " " + max);
	}
} public class Main {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		int[] a = new int[n];
		boolean[] rate = new boolean[8];
		Arrays.fill(rate,false);
		int max = 0;
		for (int i = 0; i < n; i++) {
			a[i] = scanner.nextInt();
			if(a[i] < 400){
				rate[0] = true;
			}else if(a[i] < 800){
				rate[1] = true;
			}else if(a[i] < 1200){
				rate[2] = true;
			}else if(a[i] < 1600){
				rate[3] = true;
			}else if(a[i] < 2000){
				rate[4] = true;
			}else if(a[i] < 2400){
				rate[5] = true;
			}else if(a[i] < 2800){
				rate[6] = true;
			}else if(a[i] < 3200){
				rate[7] = true;
			}else if(a[i] <= 4800){
				max++;
			}
		}
		int c = 0;
		for (boolean r:rate){
			if(r){
				c++;
			}
		}
		max+=c;
		if(c==0 && max>0){
			c = 1;
		}
		System.out.println(c + " " + max);
	}
} Main
import java.util.Arrays;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		int[] a = new int[n];
		boolean[] rate = new boolean[8];
		Arrays.fill(rate,false);
		int max = 0;
		for (int i = 0; i < n; i++) {
			a[i] = scanner.nextInt();
			if(a[i] < 400){
				rate[0] = true;
			}else if(a[i] < 800){
				rate[1] = true;
			}else if(a[i] < 1200){
				rate[2] = true;
			}else if(a[i] < 1600){
				rate[3] = true;
			}else if(a[i] < 2000){
				rate[4] = true;
			}else if(a[i] < 2400){
				rate[5] = true;
			}else if(a[i] < 2800){
				rate[6] = true;
			}else if(a[i] < 3200){
				rate[7] = true;
			}else if(a[i] <= 4800){
				max++;
			}
		}
		int c = 0;
		for (boolean r:rate){
			if(r){
				c++;
			}
		}
		max+=c;
		if(c==0 && max>0){
			c = 1;
		}
		System.out.println(c + " " + max);
	}
}