#include <bits/stdc++.h>
using namespace std;
int main() {
  int N;
  cin >> N;
  vector<int> a(N);
  for (int i = 0; i < N; i++) cin >> a[i];
  sort(a.begin(), a.end());
  int ans = 0;
  if (find_if(a.begin(), a.end(), [](int x) { return (1 <= x && x <= 399); }) !=
      a.end())
    ans++;
  if (find_if(a.begin(), a.end(),
              [](int x) { return (400 <= x && x <= 799); }) != a.end())
    ans++;
  if (find_if(a.begin(), a.end(),
              [](int x) { return (800 <= x && x <= 1199); }) != a.end())
    ans++;
  if (find_if(a.begin(), a.end(),
              [](int x) { return (1200 <= x && x <= 1599); }) != a.end())
    ans++;
  if (find_if(a.begin(), a.end(),
              [](int x) { return (1600 <= x && x <= 1999); }) != a.end())
    ans++;
  if (find_if(a.begin(), a.end(),
              [](int x) { return (2000 <= x && x <= 2399); }) != a.end())
    ans++;
  if (find_if(a.begin(), a.end(),
              [](int x) { return (2400 <= x && x <= 2799); }) != a.end())
    ans++;
  if (find_if(a.begin(), a.end(),
              [](int x) { return (2800 <= x && x <= 3199); }) != a.end())
    ans++;
  int min, max;
  min = ans;
  int c = count_if(a.begin(), a.end(), [](int x) { return 3200 <= x; });
  if (c != 0) {
    if (8 - ans <= c)
      ans += 8 - ans;
    else
      ans += c;
  }
  max = ans;
  cout << min << " " << max << endl;
  return 0;
}
