/*
文字列の配列の初期化、整数の型がlongになっているか
関数（splitとかcontainsとか）内では"+"とかは正規表現となされるので"\\+"とする
 */
import java.util.*;
import java.awt.*;
import java.awt.geom.*;
import static java.lang.System.*;
import static java.lang.Math.*;
public class Main {
    public static void main(String[] $) {
        Scanner sc = new Scanner(in);
        int n=sc.nextInt();
        int free=0;
        int[] cnt=new int[8];
        for (int i = 0; i < n; i++) {
            int a=sc.nextInt();
            if(a<400)cnt[0]++;
            else if(a<800)cnt[1]++;
            else if(a<1200)cnt[2]++;
            else if(a<1600)cnt[3]++;
            else if(a<2000)cnt[4]++;
            else if(a<2400)cnt[5]++;
            else if(a<2800)cnt[6]++;
            else if(a<3200)cnt[7]++;
            else free++;
        }
        int minimum=0,maximum=0;
        for (int i = 0; i < 8; i++) {
            if(cnt[i]>0)minimum++;
        }
        if(minimum==0){
            minimum=1;
            maximum=free;
        }
        else maximum=minimum+free;
        out.println(minimum+" "+maximum);
    }
} import java.util.*; util.* java import java.awt.*; awt.* java import java.awt.geom.*; geom.* java.awt import static java.lang.System.*; import static java.lang.System.*; import static java.lang.System.*; import static java.lang.Math.*; import static java.lang.Math.*; import static java.lang.Math.*; public class Main {
    public static void main(String[] $) {
        Scanner sc = new Scanner(in);
        int n=sc.nextInt();
        int free=0;
        int[] cnt=new int[8];
        for (int i = 0; i < n; i++) {
            int a=sc.nextInt();
            if(a<400)cnt[0]++;
            else if(a<800)cnt[1]++;
            else if(a<1200)cnt[2]++;
            else if(a<1600)cnt[3]++;
            else if(a<2000)cnt[4]++;
            else if(a<2400)cnt[5]++;
            else if(a<2800)cnt[6]++;
            else if(a<3200)cnt[7]++;
            else free++;
        }
        int minimum=0,maximum=0;
        for (int i = 0; i < 8; i++) {
            if(cnt[i]>0)minimum++;
        }
        if(minimum==0){
            minimum=1;
            maximum=free;
        }
        else maximum=minimum+free;
        out.println(minimum+" "+maximum);
    }
} Main public static void main(String[] $) {
        Scanner sc = new Scanner(in);
        int n=sc.nextInt();
        int free=0;
        int[] cnt=new int[8];
        for (int i = 0; i < n; i++) {
            int a=sc.nextInt();
            if(a<400)cnt[0]++;
            else if(a<800)cnt[1]++;
            else if(a<1200)cnt[2]++;
            else if(a<1600)cnt[3]++;
            else if(a<2000)cnt[4]++;
            else if(a<2400)cnt[5]++;
            else if(a<2800)cnt[6]++;
            else if(a<3200)cnt[7]++;
            else free++;
        }
        int minimum=0,maximum=0;
        for (int i = 0; i < 8; i++) {
            if(cnt[i]>0)minimum++;
        }
        if(minimum==0){
            minimum=1;
            maximum=free;
        }
        else maximum=minimum+free;
        out.println(minimum+" "+maximum);
    } main {
        Scanner sc = new Scanner(in);
        int n=sc.nextInt();
        int free=0;
        int[] cnt=new int[8];
        for (int i = 0; i < n; i++) {
            int a=sc.nextInt();
            if(a<400)cnt[0]++;
            else if(a<800)cnt[1]++;
            else if(a<1200)cnt[2]++;
            else if(a<1600)cnt[3]++;
            else if(a<2000)cnt[4]++;
            else if(a<2400)cnt[5]++;
            else if(a<2800)cnt[6]++;
            else if(a<3200)cnt[7]++;
            else free++;
        }
        int minimum=0,maximum=0;
        for (int i = 0; i < 8; i++) {
            if(cnt[i]>0)minimum++;
        }
        if(minimum==0){
            minimum=1;
            maximum=free;
        }
        else maximum=minimum+free;
        out.println(minimum+" "+maximum);
    } Scanner sc = new Scanner(in); sc new Scanner(in) int n=sc.nextInt(); n sc.nextInt() sc.nextInt sc int free=0; free 0 int[] cnt=new int[8]; cnt new int[8] 8 for (int i = 0; i < n; i++) {
            int a=sc.nextInt();
            if(a<400)cnt[0]++;
            else if(a<800)cnt[1]++;
            else if(a<1200)cnt[2]++;
            else if(a<1600)cnt[3]++;
            else if(a<2000)cnt[4]++;
            else if(a<2400)cnt[5]++;
            else if(a<2800)cnt[6]++;
            else if(a<3200)cnt[7]++;
            else free++;
        } int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
            int a=sc.nextInt();
            if(a<400)cnt[0]++;
            else if(a<800)cnt[1]++;
            else if(a<1200)cnt[2]++;
            else if(a<1600)cnt[3]++;
            else if(a<2000)cnt[4]++;
            else if(a<2400)cnt[5]++;
            else if(a<2800)cnt[6]++;
            else if(a<3200)cnt[7]++;
            else free++;
        } {
            int a=sc.nextInt();
            if(a<400)cnt[0]++;
            else if(a<800)cnt[1]++;
            else if(a<1200)cnt[2]++;
            else if(a<1600)cnt[3]++;
            else if(a<2000)cnt[4]++;
            else if(a<2400)cnt[5]++;
            else if(a<2800)cnt[6]++;
            else if(a<3200)cnt[7]++;
            else free++;
        } int a=sc.nextInt(); a sc.nextInt() sc.nextInt sc if(a<400)cnt[0]++;
            else if(a<800)cnt[1]++;
            else if(a<1200)cnt[2]++;
            else if(a<1600)cnt[3]++;
            else if(a<2000)cnt[4]++;
            else if(a<2400)cnt[5]++;
            else if(a<2800)cnt[6]++;
            else if(a<3200)cnt[7]++;
            else free++; a<400 a 400 cnt[0]++ cnt[0] cnt 0 if(a<800)cnt[1]++;
            else if(a<1200)cnt[2]++;
            else if(a<1600)cnt[3]++;
            else if(a<2000)cnt[4]++;
            else if(a<2400)cnt[5]++;
            else if(a<2800)cnt[6]++;
            else if(a<3200)cnt[7]++;
            else free++; a<800 a 800 cnt[1]++ cnt[1] cnt 1 if(a<1200)cnt[2]++;
            else if(a<1600)cnt[3]++;
            else if(a<2000)cnt[4]++;
            else if(a<2400)cnt[5]++;
            else if(a<2800)cnt[6]++;
            else if(a<3200)cnt[7]++;
            else free++; a<1200 a 1200 cnt[2]++ cnt[2] cnt 2 if(a<1600)cnt[3]++;
            else if(a<2000)cnt[4]++;
            else if(a<2400)cnt[5]++;
            else if(a<2800)cnt[6]++;
            else if(a<3200)cnt[7]++;
            else free++; a<1600 a 1600 cnt[3]++ cnt[3] cnt 3 if(a<2000)cnt[4]++;
            else if(a<2400)cnt[5]++;
            else if(a<2800)cnt[6]++;
            else if(a<3200)cnt[7]++;
            else free++; a<2000 a 2000 cnt[4]++ cnt[4] cnt 4 if(a<2400)cnt[5]++;
            else if(a<2800)cnt[6]++;
            else if(a<3200)cnt[7]++;
            else free++; a<2400 a 2400 cnt[5]++ cnt[5] cnt 5 if(a<2800)cnt[6]++;
            else if(a<3200)cnt[7]++;
            else free++; a<2800 a 2800 cnt[6]++ cnt[6] cnt 6 if(a<3200)cnt[7]++;
            else free++; a<3200 a 3200 cnt[7]++ cnt[7] cnt 7 free++ free int minimum=0 minimum 0 maximum=0; maximum 0 for (int i = 0; i < 8; i++) {
            if(cnt[i]>0)minimum++;
        } int i = 0; int i = 0; i 0 i < 8 i 8 i++ i++ i {
            if(cnt[i]>0)minimum++;
        } {
            if(cnt[i]>0)minimum++;
        } if(cnt[i]>0)minimum++; cnt[i]>0 cnt[i] cnt i 0 minimum++ minimum if(minimum==0){
            minimum=1;
            maximum=free;
        }
        else maximum=minimum+free; minimum==0 minimum 0 {
            minimum=1;
            maximum=free;
        } minimum=1 minimum 1 maximum=free maximum free maximum=minimum+free maximum minimum+free minimum free out.println(minimum+" "+maximum) out.println out minimum+" "+maximum minimum+" "+maximum minimum " " maximum String[] $ $ public class Main {
    public static void main(String[] $) {
        Scanner sc = new Scanner(in);
        int n=sc.nextInt();
        int free=0;
        int[] cnt=new int[8];
        for (int i = 0; i < n; i++) {
            int a=sc.nextInt();
            if(a<400)cnt[0]++;
            else if(a<800)cnt[1]++;
            else if(a<1200)cnt[2]++;
            else if(a<1600)cnt[3]++;
            else if(a<2000)cnt[4]++;
            else if(a<2400)cnt[5]++;
            else if(a<2800)cnt[6]++;
            else if(a<3200)cnt[7]++;
            else free++;
        }
        int minimum=0,maximum=0;
        for (int i = 0; i < 8; i++) {
            if(cnt[i]>0)minimum++;
        }
        if(minimum==0){
            minimum=1;
            maximum=free;
        }
        else maximum=minimum+free;
        out.println(minimum+" "+maximum);
    }
} public class Main {
    public static void main(String[] $) {
        Scanner sc = new Scanner(in);
        int n=sc.nextInt();
        int free=0;
        int[] cnt=new int[8];
        for (int i = 0; i < n; i++) {
            int a=sc.nextInt();
            if(a<400)cnt[0]++;
            else if(a<800)cnt[1]++;
            else if(a<1200)cnt[2]++;
            else if(a<1600)cnt[3]++;
            else if(a<2000)cnt[4]++;
            else if(a<2400)cnt[5]++;
            else if(a<2800)cnt[6]++;
            else if(a<3200)cnt[7]++;
            else free++;
        }
        int minimum=0,maximum=0;
        for (int i = 0; i < 8; i++) {
            if(cnt[i]>0)minimum++;
        }
        if(minimum==0){
            minimum=1;
            maximum=free;
        }
        else maximum=minimum+free;
        out.println(minimum+" "+maximum);
    }
} Main
/*
文字列の配列の初期化、整数の型がlongになっているか
関数（splitとかcontainsとか）内では"+"とかは正規表現となされるので"\\+"とする
 */
import java.util.*;
import java.awt.*;
import java.awt.geom.*;
import static java.lang.System.*;
import static java.lang.Math.*;
public class Main {
    public static void main(String[] $) {
        Scanner sc = new Scanner(in);
        int n=sc.nextInt();
        int free=0;
        int[] cnt=new int[8];
        for (int i = 0; i < n; i++) {
            int a=sc.nextInt();
            if(a<400)cnt[0]++;
            else if(a<800)cnt[1]++;
            else if(a<1200)cnt[2]++;
            else if(a<1600)cnt[3]++;
            else if(a<2000)cnt[4]++;
            else if(a<2400)cnt[5]++;
            else if(a<2800)cnt[6]++;
            else if(a<3200)cnt[7]++;
            else free++;
        }
        int minimum=0,maximum=0;
        for (int i = 0; i < 8; i++) {
            if(cnt[i]>0)minimum++;
        }
        if(minimum==0){
            minimum=1;
            maximum=free;
        }
        else maximum=minimum+free;
        out.println(minimum+" "+maximum);
    }
}