#include <bits/stdc++.h>
using namespace std;
template <typename T>
string join(vector<T>& v) {
  stringstream s;
  for (int i = (0); i < ((int)(v).size()); i++) s << ' ' << v[i];
  return s.str().substr(1);
}
long long gcd(long long a, long long b) {
  if (a > b) swap(a, b);
  for (; a > 0; b %= a, swap(a, b))
    ;
  return b;
}
int modpow(long long a, long long n, int m) {
  if (a == 0) return a;
  long long p = 1;
  for (; n > 0; n /= 2, a = a * a % m)
    if (n & 1) p = p * a % m;
  return (int)p;
}
void dout(double d) { printf("%.12f\n", d); }
const int iinf = 1e9;
const long long linf = 1e18;
const int mod = 1e9 + 7;
const double pi = acos(-1);
const double eps = 1e-10;
int n, a, c;
set<int> s;
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  cin >> n;
  for (int i = (0); i < (n); i++) {
    cin >> a;
    if (a >= 3200) {
      c++;
    } else {
      s.insert(min(7, a / 400));
    }
  }
  cout << max((int)(s).size(), 1) << " " << min((int)(s).size() + c, 8) << endl;
  return 0;
}
