#include <bits/stdc++.h>
using namespace std;
using ll = long long;
long mmid(long a, long b, long c) {
  return a < b ? (b < c ? b : max(a, c)) : (b > c ? b : min(a, c));
}
ll modinv(ll a) {
  ll b = 1000000007, u = 1, v = 0, t;
  while (b) {
    t = a / b;
    a -= t * b;
    swap(a, b);
    u -= t * v;
    swap(u, v);
  }
  return (u + 1000000007) % 1000000007;
}
ll moddevide(ll a, ll b) { return (a * modinv(b)) % 1000000007; }
ll modncr(ll n, ll r) {
  ll i, plus = 1;
  for (i = 0; i < r; i++) {
    plus = (plus * (n - i)) % 1000000007;
    plus = moddevide(plus, i + 1);
  }
  return plus;
}
ll euclidean_gcd(ll a, ll b) {
  if (a < b) return euclidean_gcd(b, a);
  ll r;
  while ((r = a % b)) {
    a = b;
    b = r;
  }
  return b;
}
ll countdigits(ll n) {
  ll ans = 0;
  while (n) {
    n /= 10;
    ans++;
  }
  return ans;
}
ll sumdigits(ll n) {
  ll ans = 0;
  while (n) {
    ans += n % 10;
    n /= 10;
  }
  return ans;
}
void printmap(vector<ll>& a, ll H, ll W) {
  ll i, j;
  for (i = 0; i < H + 2; i++) {
    for (j = 0; j < W + 2; j++) {
      cout << a[i * (W + 2) + j];
    }
    cout << endl;
  }
}
void inputmap(vector<ll>& a, ll H, ll W) {
  ll i, j;
  string ss;
  for (i = 1; i < H + 1; i++) {
    cin >> ss;
    for (j = 1; j < W + 1; j++) {
      if (ss[j - 1] == '#') {
        a[i * (W + 2) + j] = 1;
      } else {
        a[i * (W + 2) + j] = 0;
      }
    }
  }
}
int main() {
  int i, N, x, ans = 0;
  cin >> N;
  vector<int> c(13, 0);
  for (i = 0; i < N; i++) {
    cin >> x;
    c[x / 400]++;
  }
  x = 0;
  for (i = 0; i < 13; i++) {
    if (x < 9 && c[i] > 0) {
      x++;
    } else {
      ans += c[i];
    }
  }
  if (x == 0) {
    x++;
    ans--;
  }
  cout << x << " " << x + ans << endl;
  return 0;
}
