#include <bits/stdc++.h>
using namespace std;
using Graph = vector<vector<int>>;
const long long MOD = 1000000007;
const int MAX = 510000;
int main() {
  int N;
  cin >> N;
  vector<int> a(N);
  for (int i = 0; i < N; i++) cin >> a[i];
  vector<bool> memo(8, false);
  int ans = 0;
  for (int i = 0; i < N; i++) {
    if (a[i] < 400) {
      if (!memo[0]) {
        ans++;
        memo[0] = true;
      }
    } else if (a[i] < 800) {
      if (!memo[1]) {
        ans++;
        memo[1] = true;
      }
    } else if (a[i] < 1200) {
      if (!memo[2]) {
        ans++;
        memo[2] = true;
      }
    } else if (a[i] < 1600) {
      if (!memo[3]) {
        ans++;
        memo[3] = true;
      }
    } else if (a[i] < 2000) {
      if (!memo[4]) {
        ans++;
        memo[4] = true;
      }
    } else if (a[i] < 2400) {
      if (!memo[5]) {
        ans++;
        memo[5] = true;
      }
    } else if (a[i] < 2800) {
      if (!memo[6]) {
        ans++;
        memo[6] = true;
      }
    } else if (a[i] < 3200) {
      if (!memo[7]) {
        ans++;
        memo[7] = true;
      }
    }
  }
  int mini = ans, maxi = ans;
  for (int i = 0; i < N; i++) {
    if (3200 <= a[i]) maxi++;
  }
  cout << mini << " " << maxi << endl;
}
