#include <bits/stdc++.h>
using namespace std;
template <typename T>
const T INF = numeric_limits<T>::max() / 10;
const int MOD = (int)1e9 + 7;
const double EPS = 1e-11;
int max(int a, int b, int c) { return max(a, max(b, c)); }
int min(int a, int b, int c) { return min(a, min(b, c)); }
long long max(long long x, long long y) { return x > y ? x : y; }
long long min(long long x, long long y) { return x < y ? x : y; }
long long max(long long a, long long b, long long c) {
  return max(a, max(b, c));
}
long long min(long long a, long long b, long long c) {
  return min(a, min(b, c));
}
int main() {
  int n;
  cin >> n;
  vector<int> a(n);
  for (int i = 0; i < (int)n; i++) cin >> a[i];
  int grade_n = 0;
  for (int grade = 0; grade < (int)8; grade++) {
    for (int i = 0; i < (int)n; i++) {
      if (a[i] / 400 == grade) {
        grade_n++;
        break;
      }
    }
  }
  int colorful = 0;
  for (int i = 0; i < (int)n; i++) {
    if (a[i] >= 3200) colorful++;
  }
  cout << max(1, grade_n) << " " << min(8, grade_n + colorful) << endl;
  return 0;
}
