import java.util.Scanner;

public class Main {
	static int gray = 0;
	static int brown = 0;
	static int green = 0;
	static int sky = 0;
	static int blue = 0;
	static int yellow = 0;
	static int orange = 0;
	static int red = 0;
	static int other = 0;

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int min = 0;
		int max = 0;
		int n = scan.nextInt();
		int[] a = new int[n];
		for (int i = 0; i < n; i++) {
			a[i] = scan.nextInt();
			color(a[i]);
		}

		int kind = sum();
		if (kind == 0) {
			min = 1;
			max = other;
		} else {
			min = kind;
			max = kind + other;
		}

		System.out.println(min + " "+ max);
	}

	public static void color(int x) {
		if (1 <= x && x < 400) {
			gray++;
		}
		else if (400 <= x && x < 800) {
			brown++;
		}
		else if (800 <= x && x < 1200) {
			green++;
		}
		else if (1200 <= x && x < 1600) {
			sky++;
		}
		else if (1600 <= x && x < 2000) {
			blue++;
		}
		else if (2000 <= x && x < 2400) {
			yellow++;
		}
		else if (2400 <= x && x < 2800) {
			orange++;
		}
		else if (2800 <= x && x < 3200) {
			red++;
		}
		else if (3200 <= x) {
			other++;
		}
		return;
	}
	public static int sum() {
		int kind = 0;
		if (gray != 0) {
			kind++;
		}
		if (brown != 0) {
			kind++;
		}
		if (green != 0) {
			kind++;
		}
		if (sky != 0) {
			kind++;
		}
		if (blue != 0) {
			kind++;
		}
		if (yellow != 0) {
			kind++;
		}
		if (orange != 0) {
			kind++;
		}
		if (red != 0) {
			kind++;
		}

		return kind;
	}
} import java.util.Scanner; Scanner java.util public class Main {
	static int gray = 0;
	static int brown = 0;
	static int green = 0;
	static int sky = 0;
	static int blue = 0;
	static int yellow = 0;
	static int orange = 0;
	static int red = 0;
	static int other = 0;

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int min = 0;
		int max = 0;
		int n = scan.nextInt();
		int[] a = new int[n];
		for (int i = 0; i < n; i++) {
			a[i] = scan.nextInt();
			color(a[i]);
		}

		int kind = sum();
		if (kind == 0) {
			min = 1;
			max = other;
		} else {
			min = kind;
			max = kind + other;
		}

		System.out.println(min + " "+ max);
	}

	public static void color(int x) {
		if (1 <= x && x < 400) {
			gray++;
		}
		else if (400 <= x && x < 800) {
			brown++;
		}
		else if (800 <= x && x < 1200) {
			green++;
		}
		else if (1200 <= x && x < 1600) {
			sky++;
		}
		else if (1600 <= x && x < 2000) {
			blue++;
		}
		else if (2000 <= x && x < 2400) {
			yellow++;
		}
		else if (2400 <= x && x < 2800) {
			orange++;
		}
		else if (2800 <= x && x < 3200) {
			red++;
		}
		else if (3200 <= x) {
			other++;
		}
		return;
	}
	public static int sum() {
		int kind = 0;
		if (gray != 0) {
			kind++;
		}
		if (brown != 0) {
			kind++;
		}
		if (green != 0) {
			kind++;
		}
		if (sky != 0) {
			kind++;
		}
		if (blue != 0) {
			kind++;
		}
		if (yellow != 0) {
			kind++;
		}
		if (orange != 0) {
			kind++;
		}
		if (red != 0) {
			kind++;
		}

		return kind;
	}
} Main static int gray = 0; gray 0 static int brown = 0; brown 0 static int green = 0; green 0 static int sky = 0; sky 0 static int blue = 0; blue 0 static int yellow = 0; yellow 0 static int orange = 0; orange 0 static int red = 0; red 0 static int other = 0; other 0 public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int min = 0;
		int max = 0;
		int n = scan.nextInt();
		int[] a = new int[n];
		for (int i = 0; i < n; i++) {
			a[i] = scan.nextInt();
			color(a[i]);
		}

		int kind = sum();
		if (kind == 0) {
			min = 1;
			max = other;
		} else {
			min = kind;
			max = kind + other;
		}

		System.out.println(min + " "+ max);
	} main {
		Scanner scan = new Scanner(System.in);
		int min = 0;
		int max = 0;
		int n = scan.nextInt();
		int[] a = new int[n];
		for (int i = 0; i < n; i++) {
			a[i] = scan.nextInt();
			color(a[i]);
		}

		int kind = sum();
		if (kind == 0) {
			min = 1;
			max = other;
		} else {
			min = kind;
			max = kind + other;
		}

		System.out.println(min + " "+ max);
	} Scanner scan = new Scanner(System.in); scan new Scanner(System.in) int min = 0; min 0 int max = 0; max 0 int n = scan.nextInt(); n scan.nextInt() scan.nextInt scan int[] a = new int[n]; a new int[n] n for (int i = 0; i < n; i++) {
			a[i] = scan.nextInt();
			color(a[i]);
		} int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
			a[i] = scan.nextInt();
			color(a[i]);
		} {
			a[i] = scan.nextInt();
			color(a[i]);
		} a[i] = scan.nextInt() a[i] a i scan.nextInt() scan.nextInt scan color(a[i]) color a[i] a i int kind = sum(); kind sum() sum if (kind == 0) {
			min = 1;
			max = other;
		} else {
			min = kind;
			max = kind + other;
		} kind == 0 kind 0 {
			min = 1;
			max = other;
		} min = 1 min 1 max = other max other {
			min = kind;
			max = kind + other;
		} min = kind min kind max = kind + other max kind + other kind other System.out.println(min + " "+ max) System.out.println System.out System System.out min + " "+ max min + " "+ max min " " max String[] args args public static void color(int x) {
		if (1 <= x && x < 400) {
			gray++;
		}
		else if (400 <= x && x < 800) {
			brown++;
		}
		else if (800 <= x && x < 1200) {
			green++;
		}
		else if (1200 <= x && x < 1600) {
			sky++;
		}
		else if (1600 <= x && x < 2000) {
			blue++;
		}
		else if (2000 <= x && x < 2400) {
			yellow++;
		}
		else if (2400 <= x && x < 2800) {
			orange++;
		}
		else if (2800 <= x && x < 3200) {
			red++;
		}
		else if (3200 <= x) {
			other++;
		}
		return;
	} color {
		if (1 <= x && x < 400) {
			gray++;
		}
		else if (400 <= x && x < 800) {
			brown++;
		}
		else if (800 <= x && x < 1200) {
			green++;
		}
		else if (1200 <= x && x < 1600) {
			sky++;
		}
		else if (1600 <= x && x < 2000) {
			blue++;
		}
		else if (2000 <= x && x < 2400) {
			yellow++;
		}
		else if (2400 <= x && x < 2800) {
			orange++;
		}
		else if (2800 <= x && x < 3200) {
			red++;
		}
		else if (3200 <= x) {
			other++;
		}
		return;
	} if (1 <= x && x < 400) {
			gray++;
		}
		else if (400 <= x && x < 800) {
			brown++;
		}
		else if (800 <= x && x < 1200) {
			green++;
		}
		else if (1200 <= x && x < 1600) {
			sky++;
		}
		else if (1600 <= x && x < 2000) {
			blue++;
		}
		else if (2000 <= x && x < 2400) {
			yellow++;
		}
		else if (2400 <= x && x < 2800) {
			orange++;
		}
		else if (2800 <= x && x < 3200) {
			red++;
		}
		else if (3200 <= x) {
			other++;
		} 1 <= x && x < 400 1 <= x 1 x x < 400 x 400 {
			gray++;
		} gray++ gray if (400 <= x && x < 800) {
			brown++;
		}
		else if (800 <= x && x < 1200) {
			green++;
		}
		else if (1200 <= x && x < 1600) {
			sky++;
		}
		else if (1600 <= x && x < 2000) {
			blue++;
		}
		else if (2000 <= x && x < 2400) {
			yellow++;
		}
		else if (2400 <= x && x < 2800) {
			orange++;
		}
		else if (2800 <= x && x < 3200) {
			red++;
		}
		else if (3200 <= x) {
			other++;
		} 400 <= x && x < 800 400 <= x 400 x x < 800 x 800 {
			brown++;
		} brown++ brown if (800 <= x && x < 1200) {
			green++;
		}
		else if (1200 <= x && x < 1600) {
			sky++;
		}
		else if (1600 <= x && x < 2000) {
			blue++;
		}
		else if (2000 <= x && x < 2400) {
			yellow++;
		}
		else if (2400 <= x && x < 2800) {
			orange++;
		}
		else if (2800 <= x && x < 3200) {
			red++;
		}
		else if (3200 <= x) {
			other++;
		} 800 <= x && x < 1200 800 <= x 800 x x < 1200 x 1200 {
			green++;
		} green++ green if (1200 <= x && x < 1600) {
			sky++;
		}
		else if (1600 <= x && x < 2000) {
			blue++;
		}
		else if (2000 <= x && x < 2400) {
			yellow++;
		}
		else if (2400 <= x && x < 2800) {
			orange++;
		}
		else if (2800 <= x && x < 3200) {
			red++;
		}
		else if (3200 <= x) {
			other++;
		} 1200 <= x && x < 1600 1200 <= x 1200 x x < 1600 x 1600 {
			sky++;
		} sky++ sky if (1600 <= x && x < 2000) {
			blue++;
		}
		else if (2000 <= x && x < 2400) {
			yellow++;
		}
		else if (2400 <= x && x < 2800) {
			orange++;
		}
		else if (2800 <= x && x < 3200) {
			red++;
		}
		else if (3200 <= x) {
			other++;
		} 1600 <= x && x < 2000 1600 <= x 1600 x x < 2000 x 2000 {
			blue++;
		} blue++ blue if (2000 <= x && x < 2400) {
			yellow++;
		}
		else if (2400 <= x && x < 2800) {
			orange++;
		}
		else if (2800 <= x && x < 3200) {
			red++;
		}
		else if (3200 <= x) {
			other++;
		} 2000 <= x && x < 2400 2000 <= x 2000 x x < 2400 x 2400 {
			yellow++;
		} yellow++ yellow if (2400 <= x && x < 2800) {
			orange++;
		}
		else if (2800 <= x && x < 3200) {
			red++;
		}
		else if (3200 <= x) {
			other++;
		} 2400 <= x && x < 2800 2400 <= x 2400 x x < 2800 x 2800 {
			orange++;
		} orange++ orange if (2800 <= x && x < 3200) {
			red++;
		}
		else if (3200 <= x) {
			other++;
		} 2800 <= x && x < 3200 2800 <= x 2800 x x < 3200 x 3200 {
			red++;
		} red++ red if (3200 <= x) {
			other++;
		} 3200 <= x 3200 x {
			other++;
		} other++ other return; int x x public static int sum() {
		int kind = 0;
		if (gray != 0) {
			kind++;
		}
		if (brown != 0) {
			kind++;
		}
		if (green != 0) {
			kind++;
		}
		if (sky != 0) {
			kind++;
		}
		if (blue != 0) {
			kind++;
		}
		if (yellow != 0) {
			kind++;
		}
		if (orange != 0) {
			kind++;
		}
		if (red != 0) {
			kind++;
		}

		return kind;
	} sum {
		int kind = 0;
		if (gray != 0) {
			kind++;
		}
		if (brown != 0) {
			kind++;
		}
		if (green != 0) {
			kind++;
		}
		if (sky != 0) {
			kind++;
		}
		if (blue != 0) {
			kind++;
		}
		if (yellow != 0) {
			kind++;
		}
		if (orange != 0) {
			kind++;
		}
		if (red != 0) {
			kind++;
		}

		return kind;
	} int kind = 0; kind 0 if (gray != 0) {
			kind++;
		} gray != 0 gray 0 {
			kind++;
		} kind++ kind if (brown != 0) {
			kind++;
		} brown != 0 brown 0 {
			kind++;
		} kind++ kind if (green != 0) {
			kind++;
		} green != 0 green 0 {
			kind++;
		} kind++ kind if (sky != 0) {
			kind++;
		} sky != 0 sky 0 {
			kind++;
		} kind++ kind if (blue != 0) {
			kind++;
		} blue != 0 blue 0 {
			kind++;
		} kind++ kind if (yellow != 0) {
			kind++;
		} yellow != 0 yellow 0 {
			kind++;
		} kind++ kind if (orange != 0) {
			kind++;
		} orange != 0 orange 0 {
			kind++;
		} kind++ kind if (red != 0) {
			kind++;
		} red != 0 red 0 {
			kind++;
		} kind++ kind return kind; kind public class Main {
	static int gray = 0;
	static int brown = 0;
	static int green = 0;
	static int sky = 0;
	static int blue = 0;
	static int yellow = 0;
	static int orange = 0;
	static int red = 0;
	static int other = 0;

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int min = 0;
		int max = 0;
		int n = scan.nextInt();
		int[] a = new int[n];
		for (int i = 0; i < n; i++) {
			a[i] = scan.nextInt();
			color(a[i]);
		}

		int kind = sum();
		if (kind == 0) {
			min = 1;
			max = other;
		} else {
			min = kind;
			max = kind + other;
		}

		System.out.println(min + " "+ max);
	}

	public static void color(int x) {
		if (1 <= x && x < 400) {
			gray++;
		}
		else if (400 <= x && x < 800) {
			brown++;
		}
		else if (800 <= x && x < 1200) {
			green++;
		}
		else if (1200 <= x && x < 1600) {
			sky++;
		}
		else if (1600 <= x && x < 2000) {
			blue++;
		}
		else if (2000 <= x && x < 2400) {
			yellow++;
		}
		else if (2400 <= x && x < 2800) {
			orange++;
		}
		else if (2800 <= x && x < 3200) {
			red++;
		}
		else if (3200 <= x) {
			other++;
		}
		return;
	}
	public static int sum() {
		int kind = 0;
		if (gray != 0) {
			kind++;
		}
		if (brown != 0) {
			kind++;
		}
		if (green != 0) {
			kind++;
		}
		if (sky != 0) {
			kind++;
		}
		if (blue != 0) {
			kind++;
		}
		if (yellow != 0) {
			kind++;
		}
		if (orange != 0) {
			kind++;
		}
		if (red != 0) {
			kind++;
		}

		return kind;
	}
} public class Main {
	static int gray = 0;
	static int brown = 0;
	static int green = 0;
	static int sky = 0;
	static int blue = 0;
	static int yellow = 0;
	static int orange = 0;
	static int red = 0;
	static int other = 0;

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int min = 0;
		int max = 0;
		int n = scan.nextInt();
		int[] a = new int[n];
		for (int i = 0; i < n; i++) {
			a[i] = scan.nextInt();
			color(a[i]);
		}

		int kind = sum();
		if (kind == 0) {
			min = 1;
			max = other;
		} else {
			min = kind;
			max = kind + other;
		}

		System.out.println(min + " "+ max);
	}

	public static void color(int x) {
		if (1 <= x && x < 400) {
			gray++;
		}
		else if (400 <= x && x < 800) {
			brown++;
		}
		else if (800 <= x && x < 1200) {
			green++;
		}
		else if (1200 <= x && x < 1600) {
			sky++;
		}
		else if (1600 <= x && x < 2000) {
			blue++;
		}
		else if (2000 <= x && x < 2400) {
			yellow++;
		}
		else if (2400 <= x && x < 2800) {
			orange++;
		}
		else if (2800 <= x && x < 3200) {
			red++;
		}
		else if (3200 <= x) {
			other++;
		}
		return;
	}
	public static int sum() {
		int kind = 0;
		if (gray != 0) {
			kind++;
		}
		if (brown != 0) {
			kind++;
		}
		if (green != 0) {
			kind++;
		}
		if (sky != 0) {
			kind++;
		}
		if (blue != 0) {
			kind++;
		}
		if (yellow != 0) {
			kind++;
		}
		if (orange != 0) {
			kind++;
		}
		if (red != 0) {
			kind++;
		}

		return kind;
	}
} Main
import java.util.Scanner;

public class Main {
	static int gray = 0;
	static int brown = 0;
	static int green = 0;
	static int sky = 0;
	static int blue = 0;
	static int yellow = 0;
	static int orange = 0;
	static int red = 0;
	static int other = 0;

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int min = 0;
		int max = 0;
		int n = scan.nextInt();
		int[] a = new int[n];
		for (int i = 0; i < n; i++) {
			a[i] = scan.nextInt();
			color(a[i]);
		}

		int kind = sum();
		if (kind == 0) {
			min = 1;
			max = other;
		} else {
			min = kind;
			max = kind + other;
		}

		System.out.println(min + " "+ max);
	}

	public static void color(int x) {
		if (1 <= x && x < 400) {
			gray++;
		}
		else if (400 <= x && x < 800) {
			brown++;
		}
		else if (800 <= x && x < 1200) {
			green++;
		}
		else if (1200 <= x && x < 1600) {
			sky++;
		}
		else if (1600 <= x && x < 2000) {
			blue++;
		}
		else if (2000 <= x && x < 2400) {
			yellow++;
		}
		else if (2400 <= x && x < 2800) {
			orange++;
		}
		else if (2800 <= x && x < 3200) {
			red++;
		}
		else if (3200 <= x) {
			other++;
		}
		return;
	}
	public static int sum() {
		int kind = 0;
		if (gray != 0) {
			kind++;
		}
		if (brown != 0) {
			kind++;
		}
		if (green != 0) {
			kind++;
		}
		if (sky != 0) {
			kind++;
		}
		if (blue != 0) {
			kind++;
		}
		if (yellow != 0) {
			kind++;
		}
		if (orange != 0) {
			kind++;
		}
		if (red != 0) {
			kind++;
		}

		return kind;
	}
}
