#include <bits/stdc++.h>
using namespace std;
template <typename T>
using vec = vector<T>;
using i32 = int_fast32_t;
using i64 = int_fast64_t;
using u32 = uint_fast32_t;
using u64 = uint_fast64_t;
using ll = long long;
using ld = long double;
using vi = vec<int_fast32_t>;
using vl = vec<int_fast64_t>;
using vld = vec<ld>;
using vii = vec<vi>;
using PII = pair<int_fast32_t, int_fast32_t>;
template <class T>
using maxheap = std::priority_queue<T>;
template <class T>
using minheap = std::priority_queue<T, std::vector<T>, std::greater<T>>;
template <class T, class U>
inline bool chmax(T &a, const U &b) {
  if (a < b) {
    a = b;
    return 1;
  }
  return 0;
}
template <class T, class U>
inline bool chmin(T &a, const U &b) {
  if (a > b) {
    a = b;
    return 1;
  }
  return 0;
}
const ld Pi = std::acos(-1.0L);
constexpr ll infll = (1LL << 62) - 1;
constexpr int inf = (1 << 30) - 1;
const int mod = 1000000007;
signed main() {
  int START_TIME = clock();
  cin.tie(nullptr);
  ios::sync_with_stdio(false);
  i32 n, a, overs = 0;
  cin >> n;
  vi group(8);
  for (int_fast32_t i = 0; i < ((int_fast32_t)(n)); i++) {
    cin >> a;
    if (a < 400)
      ++group[0];
    else if (a < 800)
      ++group[1];
    else if (a < 1200)
      ++group[2];
    else if (a < 1600)
      ++group[3];
    else if (a < 2000)
      ++group[4];
    else if (a < 2400)
      ++group[5];
    else if (a < 2800)
      ++group[6];
    else if (a < 3200)
      ++group[7];
    else
      ++overs;
  }
  i32 cnt = 0;
  for (auto p : group) {
    if (p != 0) ++cnt;
  }
  cout << cnt << ' ';
  cout << cnt + overs << '\n';
}
