#include <bits/stdc++.h>
const int INF = 1e9;
const int MOD = 1e9 + 7;
using LL = long long;
const LL LINF = 1e18;
using namespace std;
class Edge {
 public:
  int from, to, value;
  Edge(int a, int b, int c) {
    from = a;
    to = b;
    value = c;
  }
  Edge(int a, int b) {
    from = a;
    to = b;
  }
};
int main() {
  int(N);
  cin >> (N);
  vector<int> vec;
  for (int a = 0; a < (N); ++a) {
    int(b);
    cin >> (b);
    vec.push_back(b);
  }
  int co[9] = {0};
  for (int a = 0; a < (N); ++a) {
    int v = vec.at(a);
    if (399 >= v && v >= 1) {
      co[0]++;
    } else if (799 >= v && v >= 400) {
      co[1]++;
    } else if (1199 >= v && v >= 800) {
      co[2]++;
    } else if (1599 >= v && v >= 1200) {
      co[3]++;
    } else if (1999 >= v && v >= 1600) {
      co[4]++;
    } else if (2399 >= v && v >= 2000) {
      co[5]++;
    } else if (2799 >= v && v >= 2400) {
      co[6]++;
    } else if (3199 >= v && v >= 2800) {
      co[7]++;
    } else {
      co[8]++;
    }
  }
  int ansm = 0, ansb = 0;
  for (int a = 0; a < 9; a++) {
    if (co[a] != 0 && a != 8) {
      ansm++;
      ansb++;
    }
    if (a == 8) {
      ansm += co[a];
      if (ansb == 0) ansb++;
    }
  }
  cout << ansb << " " << min(8, ansm) << endl;
  return 0;
}
