#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ii = pair<ll, ll>;
ll mod = pow(10, 9) + 7;
template <typename T>
void output(T, ll);
ll gcd(ll, ll);
ll lcm(ll, ll);
void prime_map(map<ll, ll> &, ll);
int main() {
  int n;
  cin >> n;
  int a[n];
  for (ll i = (0); i < (n); i++) {
    cin >> a[i];
    a[i] /= 400;
  }
  map<int, int> m;
  for (ll i = (0); i < (n); i++) {
    if (m[a[i]] == 0) {
      m[a[i]] = 1;
    } else {
      m[a[i]] += 1;
    }
  }
  int ans_min = 0;
  int ans_over = 0;
  for (auto iter = m.begin(); iter != m.end(); iter++) {
    if (iter->first < 8) {
      ans_min++;
    } else {
      ans_over += iter->second;
    }
  }
  ans_over += ans_min;
  if (ans_over > 8) {
    ans_over = 8;
  }
  if (ans_min == 0) {
    ans_min = 1;
    ans_over = min(8, ans_over);
  }
  cout << ans_min << " ";
  cout << ans_over << endl;
  return 0;
}
template <typename T>
void output(T a, int precision) {
  if (precision > 0) {
    cout << setprecision(precision) << a << "\n";
  } else {
    cout << a << "\n";
  }
}
template <typename T>
T min(T a, T 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) { return a * b / gcd(a, b); }
void prime_map(map<ll, ll> &m, ll num) {
  ll cache = num;
  for (ll i = (2); i < (sqrt(num) + 2); i++) {
    if (num % i == 0) {
      if (m[i] == 0) {
        m[i] = 1;
      } else {
        m[i]++;
      }
      num /= i;
      break;
    }
  }
  if (cache == num) {
    if (m[num] == 0) {
      m[num] = 1;
    } else {
      m[num]++;
    }
    return;
  } else {
    prime_map(m, num);
  }
}
