#include <bits/stdc++.h>
using namespace std;
const long long INF = (1ll << 60);
struct Edge {
  long long s, t, d;
  Edge(long long s, long long t, long long d) : s(s), t(t), d(d) {}
};
int main() {
  long long N;
  cin >> N;
  vector<long long> a(N);
  for (long long i = 0; i < N; i++) cin >> a[i];
  vector<long long> cnt(9);
  for (long long i = 0; i < N; i++) {
    long long x = a[i];
    long long c;
    if (x < 400)
      c = 1;
    else if (x < 800)
      c = 2;
    else if (x < 1200)
      c = 3;
    else if (x < 1600)
      c = 4;
    else if (x < 2000)
      c = 5;
    else if (x < 2400)
      c = 6;
    else if (x < 2800)
      c = 7;
    else if (x < 3200)
      c = 8;
    else
      c = 0;
    cnt[c] += 1;
  }
  long long x = 0;
  for (long long i = 1; i < 9; i++)
    if (cnt[i]) x += 1;
  cout << max(1ll, x) << ' ' << min(8ll, x + cnt[0]) << endl;
}
