import java.util.*;
import static java.lang.Integer.*;
import static java.lang.Long.*;
import static java.lang.Math.*;
import static java.lang.System.*;

import java.io.PrintWriter;

public class Main {
	public static void main(String[] args) {
		int i=0,j=0,k=0;
		Scanner sc = new Scanner(in);
		int n = parseInt(sc.next());
		int a;
		HashSet<Integer> r = new HashSet<>();
		int cnt32=0;
		for(i=0;i<n;i++) {
			a = parseInt(sc.next());
			if(a<3200) {
				r.add(a/400);
			} else {
				cnt32++;
			}
		}
		sc.close();
		int mx = r.size()+cnt32;
//		if(mx>8)mx=8;
		int mn = r.size();
		if(mn<1)mn=1;
		out.print(mn);
		out.print(" ");
		out.println(mx);
	}
} import java.util.*; util.* java import static java.lang.Integer.*; import static java.lang.Integer.*; import static java.lang.Integer.*; import static java.lang.Long.*; import static java.lang.Long.*; import static java.lang.Long.*; import static java.lang.Math.*; import static java.lang.Math.*; import static java.lang.Math.*; import static java.lang.System.*; import static java.lang.System.*; import static java.lang.System.*; import java.io.PrintWriter; PrintWriter java.io public class Main {
	public static void main(String[] args) {
		int i=0,j=0,k=0;
		Scanner sc = new Scanner(in);
		int n = parseInt(sc.next());
		int a;
		HashSet<Integer> r = new HashSet<>();
		int cnt32=0;
		for(i=0;i<n;i++) {
			a = parseInt(sc.next());
			if(a<3200) {
				r.add(a/400);
			} else {
				cnt32++;
			}
		}
		sc.close();
		int mx = r.size()+cnt32;
//		if(mx>8)mx=8;
		int mn = r.size();
		if(mn<1)mn=1;
		out.print(mn);
		out.print(" ");
		out.println(mx);
	}
} Main public static void main(String[] args) {
		int i=0,j=0,k=0;
		Scanner sc = new Scanner(in);
		int n = parseInt(sc.next());
		int a;
		HashSet<Integer> r = new HashSet<>();
		int cnt32=0;
		for(i=0;i<n;i++) {
			a = parseInt(sc.next());
			if(a<3200) {
				r.add(a/400);
			} else {
				cnt32++;
			}
		}
		sc.close();
		int mx = r.size()+cnt32;
//		if(mx>8)mx=8;
		int mn = r.size();
		if(mn<1)mn=1;
		out.print(mn);
		out.print(" ");
		out.println(mx);
	} main {
		int i=0,j=0,k=0;
		Scanner sc = new Scanner(in);
		int n = parseInt(sc.next());
		int a;
		HashSet<Integer> r = new HashSet<>();
		int cnt32=0;
		for(i=0;i<n;i++) {
			a = parseInt(sc.next());
			if(a<3200) {
				r.add(a/400);
			} else {
				cnt32++;
			}
		}
		sc.close();
		int mx = r.size()+cnt32;
//		if(mx>8)mx=8;
		int mn = r.size();
		if(mn<1)mn=1;
		out.print(mn);
		out.print(" ");
		out.println(mx);
	} int i=0 i 0 j=0 j 0 k=0; k 0 Scanner sc = new Scanner(in); sc new Scanner(in) int n = parseInt(sc.next()); n parseInt(sc.next()) parseInt sc.next() sc.next sc int a; a HashSet<Integer> r = new HashSet<>(); r new HashSet<>() int cnt32=0; cnt32 0 for(i=0;i<n;i++) {
			a = parseInt(sc.next());
			if(a<3200) {
				r.add(a/400);
			} else {
				cnt32++;
			}
		} i=0; i=0 i 0 i<n i n i++ i++ i {
			a = parseInt(sc.next());
			if(a<3200) {
				r.add(a/400);
			} else {
				cnt32++;
			}
		} {
			a = parseInt(sc.next());
			if(a<3200) {
				r.add(a/400);
			} else {
				cnt32++;
			}
		} a = parseInt(sc.next()) a parseInt(sc.next()) parseInt sc.next() sc.next sc if(a<3200) {
				r.add(a/400);
			} else {
				cnt32++;
			} a<3200 a 3200 {
				r.add(a/400);
			} r.add(a/400) r.add r a/400 a 400 {
				cnt32++;
			} cnt32++ cnt32 sc.close() sc.close sc int mx = r.size()+cnt32; mx r.size()+cnt32 r.size() r.size r cnt32 int mn = r.size(); mn r.size() r.size r if(mn<1)mn=1; mn<1 mn 1 mn=1 mn 1 out.print(mn) out.print out mn out.print(" ") out.print out " " out.println(mx) out.println out mx String[] args args public class Main {
	public static void main(String[] args) {
		int i=0,j=0,k=0;
		Scanner sc = new Scanner(in);
		int n = parseInt(sc.next());
		int a;
		HashSet<Integer> r = new HashSet<>();
		int cnt32=0;
		for(i=0;i<n;i++) {
			a = parseInt(sc.next());
			if(a<3200) {
				r.add(a/400);
			} else {
				cnt32++;
			}
		}
		sc.close();
		int mx = r.size()+cnt32;
//		if(mx>8)mx=8;
		int mn = r.size();
		if(mn<1)mn=1;
		out.print(mn);
		out.print(" ");
		out.println(mx);
	}
} public class Main {
	public static void main(String[] args) {
		int i=0,j=0,k=0;
		Scanner sc = new Scanner(in);
		int n = parseInt(sc.next());
		int a;
		HashSet<Integer> r = new HashSet<>();
		int cnt32=0;
		for(i=0;i<n;i++) {
			a = parseInt(sc.next());
			if(a<3200) {
				r.add(a/400);
			} else {
				cnt32++;
			}
		}
		sc.close();
		int mx = r.size()+cnt32;
//		if(mx>8)mx=8;
		int mn = r.size();
		if(mn<1)mn=1;
		out.print(mn);
		out.print(" ");
		out.println(mx);
	}
} Main
import java.util.*;
import static java.lang.Integer.*;
import static java.lang.Long.*;
import static java.lang.Math.*;
import static java.lang.System.*;

import java.io.PrintWriter;

public class Main {
	public static void main(String[] args) {
		int i=0,j=0,k=0;
		Scanner sc = new Scanner(in);
		int n = parseInt(sc.next());
		int a;
		HashSet<Integer> r = new HashSet<>();
		int cnt32=0;
		for(i=0;i<n;i++) {
			a = parseInt(sc.next());
			if(a<3200) {
				r.add(a/400);
			} else {
				cnt32++;
			}
		}
		sc.close();
		int mx = r.size()+cnt32;
//		if(mx>8)mx=8;
		int mn = r.size();
		if(mn<1)mn=1;
		out.print(mn);
		out.print(" ");
		out.println(mx);
	}
}
