import java.util.HashMap;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        Main m = new Main(sc);
        m.solve();
        m.show();
        sc.close();
    }
    
	//フィールド
    Scanner sc;
    int N;
    int[] a;
    int max;
    int min;
    
    //入力
    Main(Scanner sc) {
        this.sc = sc;
        this.N = sc.nextInt();
        a = new int[N];
        for (int i=0; i<N; i++) {
        	a[i] = sc.nextInt();
        }
    }
    
    //解答処理
    private void solve() {
    	HashMap<String,Integer> map = new HashMap<String,Integer>();
    	for (int i=0; i<N; i++) {
    		int count = 1;
    		String tmp = color(a[i]);
    		if (map.containsKey(tmp)) {
    			count += map.get(tmp);
    		}
    		map.put(tmp, count);
    	}
    	
    	if (!map.containsKey("colorless")) {
    		min = map.size();
    		max = map.size();
    	} else {
    		min = map.size()-1;
    		max = min + map.get("colorless");
    		if (map.size() == 1) { //全員が3200以上の場合
    			min = map.size();
    		}
    		
    	}
    }
    
    //a[i]のレートの色を判別するメソッド
    private String color(int a) {
    	String color = "colorless";
    	if (1<=a && a<400) {
    		color = "gray";
    	} else if (400<=a && a<800) {
    		color = "brown";
    	} else if (800<= a && a<1200) {
    		color ="green";
    	} else if (1200<=a && a<1600) {
    		color = "ligthBlue";
    	} else if (1600<=a && a<2000) {
    		color = "blue";
    	} else if (2000<=a && a<2400) {
    		color = "yellow";
    	} else if (2400<=a && a<2800) {
    		color = "orange";
    	} else if (2800<=a && a<3200) {
    		color = "red";
    	}
    	
    	return color;
    }
    
    //出力
    public void show() {
        System.out.print(min);
        System.out.print(" ");
        System.out.print(max);
    }

} import java.util.HashMap; HashMap java.util import java.util.Scanner; Scanner java.util public class Main {
	public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        Main m = new Main(sc);
        m.solve();
        m.show();
        sc.close();
    }
    
	//フィールド
    Scanner sc;
    int N;
    int[] a;
    int max;
    int min;
    
    //入力
    Main(Scanner sc) {
        this.sc = sc;
        this.N = sc.nextInt();
        a = new int[N];
        for (int i=0; i<N; i++) {
        	a[i] = sc.nextInt();
        }
    }
    
    //解答処理
    private void solve() {
    	HashMap<String,Integer> map = new HashMap<String,Integer>();
    	for (int i=0; i<N; i++) {
    		int count = 1;
    		String tmp = color(a[i]);
    		if (map.containsKey(tmp)) {
    			count += map.get(tmp);
    		}
    		map.put(tmp, count);
    	}
    	
    	if (!map.containsKey("colorless")) {
    		min = map.size();
    		max = map.size();
    	} else {
    		min = map.size()-1;
    		max = min + map.get("colorless");
    		if (map.size() == 1) { //全員が3200以上の場合
    			min = map.size();
    		}
    		
    	}
    }
    
    //a[i]のレートの色を判別するメソッド
    private String color(int a) {
    	String color = "colorless";
    	if (1<=a && a<400) {
    		color = "gray";
    	} else if (400<=a && a<800) {
    		color = "brown";
    	} else if (800<= a && a<1200) {
    		color ="green";
    	} else if (1200<=a && a<1600) {
    		color = "ligthBlue";
    	} else if (1600<=a && a<2000) {
    		color = "blue";
    	} else if (2000<=a && a<2400) {
    		color = "yellow";
    	} else if (2400<=a && a<2800) {
    		color = "orange";
    	} else if (2800<=a && a<3200) {
    		color = "red";
    	}
    	
    	return color;
    }
    
    //出力
    public void show() {
        System.out.print(min);
        System.out.print(" ");
        System.out.print(max);
    }

} Main //フィールド
    Scanner sc; sc int N; N int[] a; a int max; max int min; min public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        Main m = new Main(sc);
        m.solve();
        m.show();
        sc.close();
    } main {
        Scanner sc = new Scanner(System.in);
        Main m = new Main(sc);
        m.solve();
        m.show();
        sc.close();
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) Main m = new Main(sc); m new Main(sc) m.solve() m.solve m m.show() m.show m sc.close() sc.close sc String[] args args //入力
    Main(Scanner sc) {
        this.sc = sc;
        this.N = sc.nextInt();
        a = new int[N];
        for (int i=0; i<N; i++) {
        	a[i] = sc.nextInt();
        }
    } Main {
        this.sc = sc;
        this.N = sc.nextInt();
        a = new int[N];
        for (int i=0; i<N; i++) {
        	a[i] = sc.nextInt();
        }
    } this.sc = sc this.sc this this.sc sc this.N = sc.nextInt() this.N this this.N sc.nextInt() sc.nextInt sc a = new int[N] a new int[N] N for (int i=0; i<N; i++) {
        	a[i] = sc.nextInt();
        } int i=0; int i=0; i 0 i<N i N i++ i++ i {
        	a[i] = sc.nextInt();
        } {
        	a[i] = sc.nextInt();
        } a[i] = sc.nextInt() a[i] a i sc.nextInt() sc.nextInt sc Scanner sc sc //解答処理
    private void solve() {
    	HashMap<String,Integer> map = new HashMap<String,Integer>();
    	for (int i=0; i<N; i++) {
    		int count = 1;
    		String tmp = color(a[i]);
    		if (map.containsKey(tmp)) {
    			count += map.get(tmp);
    		}
    		map.put(tmp, count);
    	}
    	
    	if (!map.containsKey("colorless")) {
    		min = map.size();
    		max = map.size();
    	} else {
    		min = map.size()-1;
    		max = min + map.get("colorless");
    		if (map.size() == 1) { //全員が3200以上の場合
    			min = map.size();
    		}
    		
    	}
    } solve {
    	HashMap<String,Integer> map = new HashMap<String,Integer>();
    	for (int i=0; i<N; i++) {
    		int count = 1;
    		String tmp = color(a[i]);
    		if (map.containsKey(tmp)) {
    			count += map.get(tmp);
    		}
    		map.put(tmp, count);
    	}
    	
    	if (!map.containsKey("colorless")) {
    		min = map.size();
    		max = map.size();
    	} else {
    		min = map.size()-1;
    		max = min + map.get("colorless");
    		if (map.size() == 1) { //全員が3200以上の場合
    			min = map.size();
    		}
    		
    	}
    } HashMap<String,Integer> map = new HashMap<String,Integer>(); map new HashMap<String,Integer>() for (int i=0; i<N; i++) {
    		int count = 1;
    		String tmp = color(a[i]);
    		if (map.containsKey(tmp)) {
    			count += map.get(tmp);
    		}
    		map.put(tmp, count);
    	} int i=0; int i=0; i 0 i<N i N i++ i++ i {
    		int count = 1;
    		String tmp = color(a[i]);
    		if (map.containsKey(tmp)) {
    			count += map.get(tmp);
    		}
    		map.put(tmp, count);
    	} {
    		int count = 1;
    		String tmp = color(a[i]);
    		if (map.containsKey(tmp)) {
    			count += map.get(tmp);
    		}
    		map.put(tmp, count);
    	} int count = 1; count 1 String tmp = color(a[i]); tmp color(a[i]) color a[i] a i if (map.containsKey(tmp)) {
    			count += map.get(tmp);
    		} map.containsKey(tmp) map.containsKey map tmp {
    			count += map.get(tmp);
    		} count += map.get(tmp) count map.get(tmp) map.get map tmp map.put(tmp, count) map.put map tmp count if (!map.containsKey("colorless")) {
    		min = map.size();
    		max = map.size();
    	} else {
    		min = map.size()-1;
    		max = min + map.get("colorless");
    		if (map.size() == 1) { //全員が3200以上の場合
    			min = map.size();
    		}
    		
    	} !map.containsKey("colorless") map.containsKey("colorless") map.containsKey map "colorless" {
    		min = map.size();
    		max = map.size();
    	} min = map.size() min map.size() map.size map max = map.size() max map.size() map.size map {
    		min = map.size()-1;
    		max = min + map.get("colorless");
    		if (map.size() == 1) { //全員が3200以上の場合
    			min = map.size();
    		}
    		
    	} min = map.size()-1 min map.size()-1 map.size() map.size map 1 max = min + map.get("colorless") max min + map.get("colorless") min map.get("colorless") map.get map "colorless" if (map.size() == 1) { //全員が3200以上の場合
    			min = map.size();
    		} map.size() == 1 map.size() map.size map 1 { //全員が3200以上の場合
    			min = map.size();
    		} min = map.size() min map.size() map.size map //a[i]のレートの色を判別するメソッド
    private String color(int a) {
    	String color = "colorless";
    	if (1<=a && a<400) {
    		color = "gray";
    	} else if (400<=a && a<800) {
    		color = "brown";
    	} else if (800<= a && a<1200) {
    		color ="green";
    	} else if (1200<=a && a<1600) {
    		color = "ligthBlue";
    	} else if (1600<=a && a<2000) {
    		color = "blue";
    	} else if (2000<=a && a<2400) {
    		color = "yellow";
    	} else if (2400<=a && a<2800) {
    		color = "orange";
    	} else if (2800<=a && a<3200) {
    		color = "red";
    	}
    	
    	return color;
    } color {
    	String color = "colorless";
    	if (1<=a && a<400) {
    		color = "gray";
    	} else if (400<=a && a<800) {
    		color = "brown";
    	} else if (800<= a && a<1200) {
    		color ="green";
    	} else if (1200<=a && a<1600) {
    		color = "ligthBlue";
    	} else if (1600<=a && a<2000) {
    		color = "blue";
    	} else if (2000<=a && a<2400) {
    		color = "yellow";
    	} else if (2400<=a && a<2800) {
    		color = "orange";
    	} else if (2800<=a && a<3200) {
    		color = "red";
    	}
    	
    	return color;
    } String color = "colorless"; color "colorless" if (1<=a && a<400) {
    		color = "gray";
    	} else if (400<=a && a<800) {
    		color = "brown";
    	} else if (800<= a && a<1200) {
    		color ="green";
    	} else if (1200<=a && a<1600) {
    		color = "ligthBlue";
    	} else if (1600<=a && a<2000) {
    		color = "blue";
    	} else if (2000<=a && a<2400) {
    		color = "yellow";
    	} else if (2400<=a && a<2800) {
    		color = "orange";
    	} else if (2800<=a && a<3200) {
    		color = "red";
    	} 1<=a && a<400 1<=a 1 a a<400 a 400 {
    		color = "gray";
    	} color = "gray" color "gray" if (400<=a && a<800) {
    		color = "brown";
    	} else if (800<= a && a<1200) {
    		color ="green";
    	} else if (1200<=a && a<1600) {
    		color = "ligthBlue";
    	} else if (1600<=a && a<2000) {
    		color = "blue";
    	} else if (2000<=a && a<2400) {
    		color = "yellow";
    	} else if (2400<=a && a<2800) {
    		color = "orange";
    	} else if (2800<=a && a<3200) {
    		color = "red";
    	} 400<=a && a<800 400<=a 400 a a<800 a 800 {
    		color = "brown";
    	} color = "brown" color "brown" if (800<= a && a<1200) {
    		color ="green";
    	} else if (1200<=a && a<1600) {
    		color = "ligthBlue";
    	} else if (1600<=a && a<2000) {
    		color = "blue";
    	} else if (2000<=a && a<2400) {
    		color = "yellow";
    	} else if (2400<=a && a<2800) {
    		color = "orange";
    	} else if (2800<=a && a<3200) {
    		color = "red";
    	} 800<= a && a<1200 800<= a 800 a a<1200 a 1200 {
    		color ="green";
    	} color ="green" color "green" if (1200<=a && a<1600) {
    		color = "ligthBlue";
    	} else if (1600<=a && a<2000) {
    		color = "blue";
    	} else if (2000<=a && a<2400) {
    		color = "yellow";
    	} else if (2400<=a && a<2800) {
    		color = "orange";
    	} else if (2800<=a && a<3200) {
    		color = "red";
    	} 1200<=a && a<1600 1200<=a 1200 a a<1600 a 1600 {
    		color = "ligthBlue";
    	} color = "ligthBlue" color "ligthBlue" if (1600<=a && a<2000) {
    		color = "blue";
    	} else if (2000<=a && a<2400) {
    		color = "yellow";
    	} else if (2400<=a && a<2800) {
    		color = "orange";
    	} else if (2800<=a && a<3200) {
    		color = "red";
    	} 1600<=a && a<2000 1600<=a 1600 a a<2000 a 2000 {
    		color = "blue";
    	} color = "blue" color "blue" if (2000<=a && a<2400) {
    		color = "yellow";
    	} else if (2400<=a && a<2800) {
    		color = "orange";
    	} else if (2800<=a && a<3200) {
    		color = "red";
    	} 2000<=a && a<2400 2000<=a 2000 a a<2400 a 2400 {
    		color = "yellow";
    	} color = "yellow" color "yellow" if (2400<=a && a<2800) {
    		color = "orange";
    	} else if (2800<=a && a<3200) {
    		color = "red";
    	} 2400<=a && a<2800 2400<=a 2400 a a<2800 a 2800 {
    		color = "orange";
    	} color = "orange" color "orange" if (2800<=a && a<3200) {
    		color = "red";
    	} 2800<=a && a<3200 2800<=a 2800 a a<3200 a 3200 {
    		color = "red";
    	} color = "red" color "red" return color; color int a a //出力
    public void show() {
        System.out.print(min);
        System.out.print(" ");
        System.out.print(max);
    } show {
        System.out.print(min);
        System.out.print(" ");
        System.out.print(max);
    } System.out.print(min) System.out.print System.out System System.out min System.out.print(" ") System.out.print System.out System System.out " " System.out.print(max) System.out.print System.out System System.out max public class Main {
	public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        Main m = new Main(sc);
        m.solve();
        m.show();
        sc.close();
    }
    
	//フィールド
    Scanner sc;
    int N;
    int[] a;
    int max;
    int min;
    
    //入力
    Main(Scanner sc) {
        this.sc = sc;
        this.N = sc.nextInt();
        a = new int[N];
        for (int i=0; i<N; i++) {
        	a[i] = sc.nextInt();
        }
    }
    
    //解答処理
    private void solve() {
    	HashMap<String,Integer> map = new HashMap<String,Integer>();
    	for (int i=0; i<N; i++) {
    		int count = 1;
    		String tmp = color(a[i]);
    		if (map.containsKey(tmp)) {
    			count += map.get(tmp);
    		}
    		map.put(tmp, count);
    	}
    	
    	if (!map.containsKey("colorless")) {
    		min = map.size();
    		max = map.size();
    	} else {
    		min = map.size()-1;
    		max = min + map.get("colorless");
    		if (map.size() == 1) { //全員が3200以上の場合
    			min = map.size();
    		}
    		
    	}
    }
    
    //a[i]のレートの色を判別するメソッド
    private String color(int a) {
    	String color = "colorless";
    	if (1<=a && a<400) {
    		color = "gray";
    	} else if (400<=a && a<800) {
    		color = "brown";
    	} else if (800<= a && a<1200) {
    		color ="green";
    	} else if (1200<=a && a<1600) {
    		color = "ligthBlue";
    	} else if (1600<=a && a<2000) {
    		color = "blue";
    	} else if (2000<=a && a<2400) {
    		color = "yellow";
    	} else if (2400<=a && a<2800) {
    		color = "orange";
    	} else if (2800<=a && a<3200) {
    		color = "red";
    	}
    	
    	return color;
    }
    
    //出力
    public void show() {
        System.out.print(min);
        System.out.print(" ");
        System.out.print(max);
    }

} public class Main {
	public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        Main m = new Main(sc);
        m.solve();
        m.show();
        sc.close();
    }
    
	//フィールド
    Scanner sc;
    int N;
    int[] a;
    int max;
    int min;
    
    //入力
    Main(Scanner sc) {
        this.sc = sc;
        this.N = sc.nextInt();
        a = new int[N];
        for (int i=0; i<N; i++) {
        	a[i] = sc.nextInt();
        }
    }
    
    //解答処理
    private void solve() {
    	HashMap<String,Integer> map = new HashMap<String,Integer>();
    	for (int i=0; i<N; i++) {
    		int count = 1;
    		String tmp = color(a[i]);
    		if (map.containsKey(tmp)) {
    			count += map.get(tmp);
    		}
    		map.put(tmp, count);
    	}
    	
    	if (!map.containsKey("colorless")) {
    		min = map.size();
    		max = map.size();
    	} else {
    		min = map.size()-1;
    		max = min + map.get("colorless");
    		if (map.size() == 1) { //全員が3200以上の場合
    			min = map.size();
    		}
    		
    	}
    }
    
    //a[i]のレートの色を判別するメソッド
    private String color(int a) {
    	String color = "colorless";
    	if (1<=a && a<400) {
    		color = "gray";
    	} else if (400<=a && a<800) {
    		color = "brown";
    	} else if (800<= a && a<1200) {
    		color ="green";
    	} else if (1200<=a && a<1600) {
    		color = "ligthBlue";
    	} else if (1600<=a && a<2000) {
    		color = "blue";
    	} else if (2000<=a && a<2400) {
    		color = "yellow";
    	} else if (2400<=a && a<2800) {
    		color = "orange";
    	} else if (2800<=a && a<3200) {
    		color = "red";
    	}
    	
    	return color;
    }
    
    //出力
    public void show() {
        System.out.print(min);
        System.out.print(" ");
        System.out.print(max);
    }

} Main
import java.util.HashMap;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        Main m = new Main(sc);
        m.solve();
        m.show();
        sc.close();
    }
    
	//フィールド
    Scanner sc;
    int N;
    int[] a;
    int max;
    int min;
    
    //入力
    Main(Scanner sc) {
        this.sc = sc;
        this.N = sc.nextInt();
        a = new int[N];
        for (int i=0; i<N; i++) {
        	a[i] = sc.nextInt();
        }
    }
    
    //解答処理
    private void solve() {
    	HashMap<String,Integer> map = new HashMap<String,Integer>();
    	for (int i=0; i<N; i++) {
    		int count = 1;
    		String tmp = color(a[i]);
    		if (map.containsKey(tmp)) {
    			count += map.get(tmp);
    		}
    		map.put(tmp, count);
    	}
    	
    	if (!map.containsKey("colorless")) {
    		min = map.size();
    		max = map.size();
    	} else {
    		min = map.size()-1;
    		max = min + map.get("colorless");
    		if (map.size() == 1) { //全員が3200以上の場合
    			min = map.size();
    		}
    		
    	}
    }
    
    //a[i]のレートの色を判別するメソッド
    private String color(int a) {
    	String color = "colorless";
    	if (1<=a && a<400) {
    		color = "gray";
    	} else if (400<=a && a<800) {
    		color = "brown";
    	} else if (800<= a && a<1200) {
    		color ="green";
    	} else if (1200<=a && a<1600) {
    		color = "ligthBlue";
    	} else if (1600<=a && a<2000) {
    		color = "blue";
    	} else if (2000<=a && a<2400) {
    		color = "yellow";
    	} else if (2400<=a && a<2800) {
    		color = "orange";
    	} else if (2800<=a && a<3200) {
    		color = "red";
    	}
    	
    	return color;
    }
    
    //出力
    public void show() {
        System.out.print(min);
        System.out.print(" ");
        System.out.print(max);
    }

}
