#include <bits/stdc++.h>
using namespace std;
priority_queue<long long, vector<long long>, greater<long long>> que;
priority_queue<long long> q;
template <class T>
inline bool chmin(T& a, T b) {
  if (a > b) {
    a = b;
    return 1;
  }
  return 0;
}
long long n;
long long color[8];
void solve() {
  cin >> n;
  long long a[n];
  for (int i = 0; i < n; i++) cin >> a[i];
  for (int i = 0; i < 8; i++) color[i] = 0;
  long long cnt = 0;
  long long y = 0;
  for (long long x : a) {
    if (x >= 3200)
      y++;
    else if (x >= 2800)
      color[0]++;
    else if (x >= 2400)
      color[1]++;
    else if (x >= 2000)
      color[2]++;
    else if (x >= 1600)
      color[3]++;
    else if (x >= 1200)
      color[4]++;
    else if (x >= 800)
      color[5]++;
    else if (x >= 400)
      color[6]++;
    else
      color[7]++;
  }
  for (long long c : color) {
    if (c > 0) cnt++;
  }
  long long mn = cnt;
  long long mx = cnt + y;
  printf("%lld %lld\n", mn, mx);
}
int main(int argc, char* argv[]) {
  solve();
  return 0;
}
