#include <bits/stdc++.h>
using namespace std;
int main() {
  int N;
  cin >> N;
  vector<int> color(N);
  vector<int> kazu(8, 0);
  for (int i = 0; i < N; i++) {
    cin >> color.at(i);
  }
  int count = 0;
  bool freedom = true;
  for (int i = 0; i < N; i++) {
    if (color.at(i) < 3200) {
      freedom = false;
    }
  }
  for (int i = 0; i < N; i++) {
    if (color.at(i) > 0 && color.at(i) < 400) {
      if (kazu.at(0) == 0) {
        kazu.at(0) = 1;
      }
    }
    if (color.at(i) >= 400 && color.at(i) < 800) {
      if (kazu.at(1) == 0) {
        kazu.at(1) = 1;
      }
    }
    if (color.at(i) >= 800 && color.at(i) < 1200) {
      if (kazu.at(2) == 0) {
        kazu.at(2) = 1;
      }
    }
    if (color.at(i) >= 1200 && color.at(i) < 1600) {
      if (kazu.at(3) == 0) {
        kazu.at(3) = 1;
      }
    }
    if (color.at(i) >= 1600 && color.at(i) < 2000) {
      if (kazu.at(4) == 0) {
        kazu.at(4) = 1;
      }
    }
    if (color.at(i) >= 2000 && color.at(i) < 2400) {
      if (kazu.at(5) == 0) {
        kazu.at(5) = 1;
      }
    }
    if (color.at(i) >= 2400 && color.at(i) < 2800) {
      if (kazu.at(6) == 0) {
        kazu.at(6) = 1;
      }
    }
    if (color.at(i) >= 2800 && color.at(i) < 3200) {
      if (kazu.at(7) == 0) {
        kazu.at(7) = 1;
      }
    }
    if (color.at(i) >= 3200) {
      for (int k = 0; k < 8; k++) {
        if (kazu.at(k) == 0) {
          count++;
        }
        break;
      }
    }
  }
  if (freedom) {
    cout << 1 << " ";
    if (color.size() < 9) {
      cout << color.size() << endl;
    } else {
      cout << 8 << endl;
    }
  } else {
    cout << kazu.at(0) + kazu.at(1) + kazu.at(2) + kazu.at(3) + kazu.at(4) +
                kazu.at(5) + kazu.at(6) + kazu.at(7)
         << " ";
    cout << kazu.at(0) + kazu.at(1) + kazu.at(2) + kazu.at(3) + kazu.at(4) +
                kazu.at(5) + kazu.at(6) + kazu.at(7) + count
         << endl;
  }
}
