#include <bits/stdc++.h>
int flagCheck(int A[], bool flag[], int N) {
  int num = 0;
  for (int i = 0; i < N; i++) {
    if (A[i] < 400)
      flag[0] = true;
    else if (A[i] < 800 && A[i] >= 400)
      flag[0] = true;
    else if (A[i] < 1200 && A[i] >= 800)
      flag[1] = true;
    else if (A[i] < 1600 && A[i] >= 1200)
      flag[2] = true;
    else if (A[i] < 2000 && A[i] >= 1600)
      flag[3] = true;
    else if (A[i] < 2400 && A[i] >= 2000)
      flag[4] = true;
    else if (A[i] < 2800 && A[i] >= 2400)
      flag[5] = true;
    else if (A[i] < 3200 && A[i] >= 2800)
      flag[6] = true;
    else
      num++;
  }
  return num;
}
int main() {
  int A[100], N, num, min = 0, max = 8;
  bool flag[7];
  for (int i = 0; i < 7; i++) {
    flag[0] = false;
  }
  scanf("%d", &N);
  for (int i = 0; i < N; i++) {
    scanf("%d", &A[i]);
  }
  num = flagCheck(A, flag, N);
  for (int i = 0; i < 7; i++) {
    if (flag[i]) {
      min++;
    }
  }
  max = std::min(min + num, max);
  printf("%d %d\n", min, max);
  return 0;
}
