import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Scanner;
import java.util.Set;

public class Main {

	public static void main(String[] args) throws IOException {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		boolean[] b = new boolean[8];
		Arrays.fill(b, false);
		List<Integer> list = new ArrayList<>();
		Set<Integer> set = new HashSet<>();
		int c = 0;
		for(int i = 0 ; i < n; i++){
			list.add(scanner.nextInt());
		}

		for(int a : list){
			if(a < 400){
				set.add(1);
			}else if (a < 800) {
				set.add(2);
			}else if (a < 1200) {
				set.add(3);
			}else if (a < 1600) {
				set.add(4);
			}else if (a < 2000) {
				set.add(5);
			}else if (a < 2400) {
				set.add(6);
			}else if (a < 2800) {
				set.add(7);
			}else if (a < 3200) {
				set.add(8);
			}else {
				c++;
			}
		}
		c += set.size();
		if(set.size() == 0){
			System.out.println(1 + " " + c);
		}else {
			System.out.println(set.size() + " " + c);
		}
	}
} import java.io.IOException; IOException java.io import java.util.ArrayList; ArrayList java.util import java.util.Arrays; Arrays java.util import java.util.HashSet; HashSet java.util import java.util.List; List java.util import java.util.Scanner; Scanner java.util import java.util.Set; Set java.util public class Main {

	public static void main(String[] args) throws IOException {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		boolean[] b = new boolean[8];
		Arrays.fill(b, false);
		List<Integer> list = new ArrayList<>();
		Set<Integer> set = new HashSet<>();
		int c = 0;
		for(int i = 0 ; i < n; i++){
			list.add(scanner.nextInt());
		}

		for(int a : list){
			if(a < 400){
				set.add(1);
			}else if (a < 800) {
				set.add(2);
			}else if (a < 1200) {
				set.add(3);
			}else if (a < 1600) {
				set.add(4);
			}else if (a < 2000) {
				set.add(5);
			}else if (a < 2400) {
				set.add(6);
			}else if (a < 2800) {
				set.add(7);
			}else if (a < 3200) {
				set.add(8);
			}else {
				c++;
			}
		}
		c += set.size();
		if(set.size() == 0){
			System.out.println(1 + " " + c);
		}else {
			System.out.println(set.size() + " " + c);
		}
	}
} Main public static void main(String[] args) throws IOException {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		boolean[] b = new boolean[8];
		Arrays.fill(b, false);
		List<Integer> list = new ArrayList<>();
		Set<Integer> set = new HashSet<>();
		int c = 0;
		for(int i = 0 ; i < n; i++){
			list.add(scanner.nextInt());
		}

		for(int a : list){
			if(a < 400){
				set.add(1);
			}else if (a < 800) {
				set.add(2);
			}else if (a < 1200) {
				set.add(3);
			}else if (a < 1600) {
				set.add(4);
			}else if (a < 2000) {
				set.add(5);
			}else if (a < 2400) {
				set.add(6);
			}else if (a < 2800) {
				set.add(7);
			}else if (a < 3200) {
				set.add(8);
			}else {
				c++;
			}
		}
		c += set.size();
		if(set.size() == 0){
			System.out.println(1 + " " + c);
		}else {
			System.out.println(set.size() + " " + c);
		}
	} main {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		boolean[] b = new boolean[8];
		Arrays.fill(b, false);
		List<Integer> list = new ArrayList<>();
		Set<Integer> set = new HashSet<>();
		int c = 0;
		for(int i = 0 ; i < n; i++){
			list.add(scanner.nextInt());
		}

		for(int a : list){
			if(a < 400){
				set.add(1);
			}else if (a < 800) {
				set.add(2);
			}else if (a < 1200) {
				set.add(3);
			}else if (a < 1600) {
				set.add(4);
			}else if (a < 2000) {
				set.add(5);
			}else if (a < 2400) {
				set.add(6);
			}else if (a < 2800) {
				set.add(7);
			}else if (a < 3200) {
				set.add(8);
			}else {
				c++;
			}
		}
		c += set.size();
		if(set.size() == 0){
			System.out.println(1 + " " + c);
		}else {
			System.out.println(set.size() + " " + c);
		}
	} Scanner scanner = new Scanner(System.in); scanner new Scanner(System.in) int n = scanner.nextInt(); n scanner.nextInt() scanner.nextInt scanner boolean[] b = new boolean[8]; b new boolean[8] 8 Arrays.fill(b, false) Arrays.fill Arrays b false List<Integer> list = new ArrayList<>(); list new ArrayList<>() Set<Integer> set = new HashSet<>(); set new HashSet<>() int c = 0; c 0 for(int i = 0 ; i < n; i++){
			list.add(scanner.nextInt());
		} int i = 0 ; int i = 0 ; i 0 i < n i n i++ i++ i {
			list.add(scanner.nextInt());
		} {
			list.add(scanner.nextInt());
		} list.add(scanner.nextInt()) list.add list scanner.nextInt() scanner.nextInt scanner for(int a : list){
			if(a < 400){
				set.add(1);
			}else if (a < 800) {
				set.add(2);
			}else if (a < 1200) {
				set.add(3);
			}else if (a < 1600) {
				set.add(4);
			}else if (a < 2000) {
				set.add(5);
			}else if (a < 2400) {
				set.add(6);
			}else if (a < 2800) {
				set.add(7);
			}else if (a < 3200) {
				set.add(8);
			}else {
				c++;
			}
		} int a list {
			if(a < 400){
				set.add(1);
			}else if (a < 800) {
				set.add(2);
			}else if (a < 1200) {
				set.add(3);
			}else if (a < 1600) {
				set.add(4);
			}else if (a < 2000) {
				set.add(5);
			}else if (a < 2400) {
				set.add(6);
			}else if (a < 2800) {
				set.add(7);
			}else if (a < 3200) {
				set.add(8);
			}else {
				c++;
			}
		} {
			if(a < 400){
				set.add(1);
			}else if (a < 800) {
				set.add(2);
			}else if (a < 1200) {
				set.add(3);
			}else if (a < 1600) {
				set.add(4);
			}else if (a < 2000) {
				set.add(5);
			}else if (a < 2400) {
				set.add(6);
			}else if (a < 2800) {
				set.add(7);
			}else if (a < 3200) {
				set.add(8);
			}else {
				c++;
			}
		} if(a < 400){
				set.add(1);
			}else if (a < 800) {
				set.add(2);
			}else if (a < 1200) {
				set.add(3);
			}else if (a < 1600) {
				set.add(4);
			}else if (a < 2000) {
				set.add(5);
			}else if (a < 2400) {
				set.add(6);
			}else if (a < 2800) {
				set.add(7);
			}else if (a < 3200) {
				set.add(8);
			}else {
				c++;
			} a < 400 a 400 {
				set.add(1);
			} set.add(1) set.add set 1 if (a < 800) {
				set.add(2);
			}else if (a < 1200) {
				set.add(3);
			}else if (a < 1600) {
				set.add(4);
			}else if (a < 2000) {
				set.add(5);
			}else if (a < 2400) {
				set.add(6);
			}else if (a < 2800) {
				set.add(7);
			}else if (a < 3200) {
				set.add(8);
			}else {
				c++;
			} a < 800 a 800 {
				set.add(2);
			} set.add(2) set.add set 2 if (a < 1200) {
				set.add(3);
			}else if (a < 1600) {
				set.add(4);
			}else if (a < 2000) {
				set.add(5);
			}else if (a < 2400) {
				set.add(6);
			}else if (a < 2800) {
				set.add(7);
			}else if (a < 3200) {
				set.add(8);
			}else {
				c++;
			} a < 1200 a 1200 {
				set.add(3);
			} set.add(3) set.add set 3 if (a < 1600) {
				set.add(4);
			}else if (a < 2000) {
				set.add(5);
			}else if (a < 2400) {
				set.add(6);
			}else if (a < 2800) {
				set.add(7);
			}else if (a < 3200) {
				set.add(8);
			}else {
				c++;
			} a < 1600 a 1600 {
				set.add(4);
			} set.add(4) set.add set 4 if (a < 2000) {
				set.add(5);
			}else if (a < 2400) {
				set.add(6);
			}else if (a < 2800) {
				set.add(7);
			}else if (a < 3200) {
				set.add(8);
			}else {
				c++;
			} a < 2000 a 2000 {
				set.add(5);
			} set.add(5) set.add set 5 if (a < 2400) {
				set.add(6);
			}else if (a < 2800) {
				set.add(7);
			}else if (a < 3200) {
				set.add(8);
			}else {
				c++;
			} a < 2400 a 2400 {
				set.add(6);
			} set.add(6) set.add set 6 if (a < 2800) {
				set.add(7);
			}else if (a < 3200) {
				set.add(8);
			}else {
				c++;
			} a < 2800 a 2800 {
				set.add(7);
			} set.add(7) set.add set 7 if (a < 3200) {
				set.add(8);
			}else {
				c++;
			} a < 3200 a 3200 {
				set.add(8);
			} set.add(8) set.add set 8 {
				c++;
			} c++ c c += set.size() c set.size() set.size set if(set.size() == 0){
			System.out.println(1 + " " + c);
		}else {
			System.out.println(set.size() + " " + c);
		} set.size() == 0 set.size() set.size set 0 {
			System.out.println(1 + " " + c);
		} System.out.println(1 + " " + c) System.out.println System.out System System.out 1 + " " + c 1 + " " + c 1 " " c {
			System.out.println(set.size() + " " + c);
		} System.out.println(set.size() + " " + c) System.out.println System.out System System.out set.size() + " " + c set.size() + " " + c set.size() set.size set " " c String[] args args public class Main {

	public static void main(String[] args) throws IOException {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		boolean[] b = new boolean[8];
		Arrays.fill(b, false);
		List<Integer> list = new ArrayList<>();
		Set<Integer> set = new HashSet<>();
		int c = 0;
		for(int i = 0 ; i < n; i++){
			list.add(scanner.nextInt());
		}

		for(int a : list){
			if(a < 400){
				set.add(1);
			}else if (a < 800) {
				set.add(2);
			}else if (a < 1200) {
				set.add(3);
			}else if (a < 1600) {
				set.add(4);
			}else if (a < 2000) {
				set.add(5);
			}else if (a < 2400) {
				set.add(6);
			}else if (a < 2800) {
				set.add(7);
			}else if (a < 3200) {
				set.add(8);
			}else {
				c++;
			}
		}
		c += set.size();
		if(set.size() == 0){
			System.out.println(1 + " " + c);
		}else {
			System.out.println(set.size() + " " + c);
		}
	}
} public class Main {

	public static void main(String[] args) throws IOException {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		boolean[] b = new boolean[8];
		Arrays.fill(b, false);
		List<Integer> list = new ArrayList<>();
		Set<Integer> set = new HashSet<>();
		int c = 0;
		for(int i = 0 ; i < n; i++){
			list.add(scanner.nextInt());
		}

		for(int a : list){
			if(a < 400){
				set.add(1);
			}else if (a < 800) {
				set.add(2);
			}else if (a < 1200) {
				set.add(3);
			}else if (a < 1600) {
				set.add(4);
			}else if (a < 2000) {
				set.add(5);
			}else if (a < 2400) {
				set.add(6);
			}else if (a < 2800) {
				set.add(7);
			}else if (a < 3200) {
				set.add(8);
			}else {
				c++;
			}
		}
		c += set.size();
		if(set.size() == 0){
			System.out.println(1 + " " + c);
		}else {
			System.out.println(set.size() + " " + c);
		}
	}
} Main
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Scanner;
import java.util.Set;

public class Main {

	public static void main(String[] args) throws IOException {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		boolean[] b = new boolean[8];
		Arrays.fill(b, false);
		List<Integer> list = new ArrayList<>();
		Set<Integer> set = new HashSet<>();
		int c = 0;
		for(int i = 0 ; i < n; i++){
			list.add(scanner.nextInt());
		}

		for(int a : list){
			if(a < 400){
				set.add(1);
			}else if (a < 800) {
				set.add(2);
			}else if (a < 1200) {
				set.add(3);
			}else if (a < 1600) {
				set.add(4);
			}else if (a < 2000) {
				set.add(5);
			}else if (a < 2400) {
				set.add(6);
			}else if (a < 2800) {
				set.add(7);
			}else if (a < 3200) {
				set.add(8);
			}else {
				c++;
			}
		}
		c += set.size();
		if(set.size() == 0){
			System.out.println(1 + " " + c);
		}else {
			System.out.println(set.size() + " " + c);
		}
	}
}
