#include <bits/stdc++.h>
using namespace std;
using ll = long long int;
using ld = long double;
using VI = vector<ll>;
using VD = vector<ld>;
using VVI = vector<VI>;
using VC = vector<char>;
using VVC = vector<VC>;
using VS = vector<string>;
using PLL = pair<ll, ll>;
using PLD = pair<ld, ld>;
using VPLL = vector<PLL>;
const int INF = 1 << 30;
const ld EPS = 1e-10;
const int MOD = int(1e9) + 7;
template <class T>
bool chmax(T &a, const T &b) {
  if (a < b) {
    a = b;
    return 1;
  }
  return 0;
}
template <class T>
bool chmin(T &a, const T &b) {
  if (b < a) {
    a = b;
    return 1;
  }
  return 0;
}
template <class BidirectionalIterator>
bool next_partial_permutation(BidirectionalIterator first,
                              BidirectionalIterator middle,
                              BidirectionalIterator last) {
  reverse(middle, last);
  return next_permutation(first, last);
}
void Main() {
  ll N;
  ll mini = 0;
  ll maxi = 0;
  ll result = 0;
  cin >> N;
  VI ai(N);
  for (ll i = 0; i < (ll)(N); i++) cin >> ai[i];
  sort((ai).begin(), (ai).end());
  vector<bool> b(8, false);
  for (ll i = 0; i < (ll)(N); i++) {
    ll a = ai[i];
    for (ll j = 0; j < (ll)(8); j++) {
      ll mul = 400;
      if (mul * j <= a && a <= mul * (j + 1) - 1 && b[j] == false) {
        mini++;
        maxi++;
        b[j] = true;
      } else if (a >= 3200) {
        maxi++;
      }
    }
  }
  cout << mini << " " << maxi << "\n";
  return;
}
int main() {
  std::cin.tie(0);
  std::ios_base::sync_with_stdio(false);
  std::cout << std::fixed << std::setprecision(15);
  Main();
}
