#include <bits/stdc++.h>
using ll = long long;
ll min(ll a, ll b) {
  if (a >= b)
    return b;
  else
    return a;
}
ll max(ll a, ll b) {
  if (a >= b)
    return a;
  else
    return b;
}
ll gcd(ll a, ll b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
ll lcm(ll a, ll b) {
  ll g = gcd(a, b);
  return a / g * b;
}
const ll Z = 1000000007;
const ll INF = 1 << 30;
const ll INF2 = 9000000000000000000LL;
bool flag = true;
bool fl = true;
bool used[210];
bool graph[100][100];
int main() {
  int n, b[100] = {0}, min = 0, max = 0;
  std::cin >> n;
  for (int i = 0; i < n; i++) {
    int a;
    std::cin >> a;
    if (a < 400) {
      b[0]++;
    }
    if (400 <= a && a < 800) {
      b[1]++;
    }
    if (800 <= a && a < 1200) {
      b[2]++;
    }
    if (1200 <= a && a < 1600) {
      b[3]++;
    }
    if (1600 <= a && a < 2000) {
      b[4]++;
    }
    if (2000 <= a && a < 2400) {
      b[5]++;
    }
    if (2400 <= a && a < 2800) {
      b[6]++;
    }
    if (2800 <= a && a < 3200) {
      b[7]++;
    }
    if (3200 <= a) {
      b[8]++;
    }
  }
  int c = 0;
  for (int i = 0; i < 8; i++) {
    if (b[i] != 0) c++;
  }
  if (c == 0) {
    min = 1;
    if (b[8] > 8)
      max = 8;
    else
      max = b[8];
  } else {
    min += c;
    max += c;
    if (8 - c < b[8])
      max = 8;
    else
      max += b[8];
  }
  std::cout << min << ' ' << max << std::endl;
}
