import java.util.*;
import static java.lang.System.*;

class Main {
  public static final int MOD = 1000000007;
  public static final int INF = 1000000000;
  public static void main(String[] args) {
    Scanner sc = new Scanner(in);
    int N = sc.nextInt();
    int rank[] = new int[9];
    for(int i=0; i<N; i++){
      int a = sc.nextInt();
      if(a < 3200) rank[a / 400]++;
      else rank[8]++;
    }
    int min = 0;
    for(int i=0; i<8; i++){
      if(rank[i] > 0) min++;
    }
    int max = min + rank[8];
    if(min == 0){
      min = 1;
      max = rank[8];
    }
    out.println(min + " " + max);
  }

  public static int gcd(int a, int b){
    if(b == 0) return a;
    return gcd(b, a%b);
  }
} import java.util.*; util.* java import static java.lang.System.*; import static java.lang.System.*; import static java.lang.System.*; class Main {
  public static final int MOD = 1000000007;
  public static final int INF = 1000000000;
  public static void main(String[] args) {
    Scanner sc = new Scanner(in);
    int N = sc.nextInt();
    int rank[] = new int[9];
    for(int i=0; i<N; i++){
      int a = sc.nextInt();
      if(a < 3200) rank[a / 400]++;
      else rank[8]++;
    }
    int min = 0;
    for(int i=0; i<8; i++){
      if(rank[i] > 0) min++;
    }
    int max = min + rank[8];
    if(min == 0){
      min = 1;
      max = rank[8];
    }
    out.println(min + " " + max);
  }

  public static int gcd(int a, int b){
    if(b == 0) return a;
    return gcd(b, a%b);
  }
} Main public static final int MOD = 1000000007; MOD 1000000007 public static final int INF = 1000000000; INF 1000000000 public static void main(String[] args) {
    Scanner sc = new Scanner(in);
    int N = sc.nextInt();
    int rank[] = new int[9];
    for(int i=0; i<N; i++){
      int a = sc.nextInt();
      if(a < 3200) rank[a / 400]++;
      else rank[8]++;
    }
    int min = 0;
    for(int i=0; i<8; i++){
      if(rank[i] > 0) min++;
    }
    int max = min + rank[8];
    if(min == 0){
      min = 1;
      max = rank[8];
    }
    out.println(min + " " + max);
  } main {
    Scanner sc = new Scanner(in);
    int N = sc.nextInt();
    int rank[] = new int[9];
    for(int i=0; i<N; i++){
      int a = sc.nextInt();
      if(a < 3200) rank[a / 400]++;
      else rank[8]++;
    }
    int min = 0;
    for(int i=0; i<8; i++){
      if(rank[i] > 0) min++;
    }
    int max = min + rank[8];
    if(min == 0){
      min = 1;
      max = rank[8];
    }
    out.println(min + " " + max);
  } Scanner sc = new Scanner(in); sc new Scanner(in) int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc int rank[] = new int[9]; rank new int[9] 9 for(int i=0; i<N; i++){
      int a = sc.nextInt();
      if(a < 3200) rank[a / 400]++;
      else rank[8]++;
    } int i=0; int i=0; i 0 i<N i N i++ i++ i {
      int a = sc.nextInt();
      if(a < 3200) rank[a / 400]++;
      else rank[8]++;
    } {
      int a = sc.nextInt();
      if(a < 3200) rank[a / 400]++;
      else rank[8]++;
    } int a = sc.nextInt(); a sc.nextInt() sc.nextInt sc if(a < 3200) rank[a / 400]++;
      else rank[8]++; a < 3200 a 3200 rank[a / 400]++ rank[a / 400] rank a / 400 a 400 rank[8]++ rank[8] rank 8 int min = 0; min 0 for(int i=0; i<8; i++){
      if(rank[i] > 0) min++;
    } int i=0; int i=0; i 0 i<8 i 8 i++ i++ i {
      if(rank[i] > 0) min++;
    } {
      if(rank[i] > 0) min++;
    } if(rank[i] > 0) min++; rank[i] > 0 rank[i] rank i 0 min++ min int max = min + rank[8]; max min + rank[8] min rank[8] rank 8 if(min == 0){
      min = 1;
      max = rank[8];
    } min == 0 min 0 {
      min = 1;
      max = rank[8];
    } min = 1 min 1 max = rank[8] max rank[8] rank 8 out.println(min + " " + max) out.println out min + " " + max min + " " + max min " " max String[] args args public static int gcd(int a, int b){
    if(b == 0) return a;
    return gcd(b, a%b);
  } gcd {
    if(b == 0) return a;
    return gcd(b, a%b);
  } if(b == 0) return a; b == 0 b 0 return a; a return gcd(b, a%b); gcd(b, a%b) gcd b a%b a b int a a int b b
import java.util.*;
import static java.lang.System.*;

class Main {
  public static final int MOD = 1000000007;
  public static final int INF = 1000000000;
  public static void main(String[] args) {
    Scanner sc = new Scanner(in);
    int N = sc.nextInt();
    int rank[] = new int[9];
    for(int i=0; i<N; i++){
      int a = sc.nextInt();
      if(a < 3200) rank[a / 400]++;
      else rank[8]++;
    }
    int min = 0;
    for(int i=0; i<8; i++){
      if(rank[i] > 0) min++;
    }
    int max = min + rank[8];
    if(min == 0){
      min = 1;
      max = rank[8];
    }
    out.println(min + " " + max);
  }

  public static int gcd(int a, int b){
    if(b == 0) return a;
    return gcd(b, a%b);
  }
}