#include <bits/stdc++.h>
using namespace std;
int CalcSumOfDigit(int n);
long long getDigit(long long n);
string upper(string str);
string lower(string str);
const int INF = 1e9;
int main() {
  long long n;
  cin >> n;
  map<string, long long> m;
  for (int(i) = 0; (i) < (n); (i)++) {
    long long buf;
    cin >> buf;
    if (buf <= 399) {
      m["Ash"]++;
    } else if (buf <= 799) {
      m["Brown"]++;
    } else if (buf <= 1199) {
      m["Green"]++;
    } else if (buf <= 1599) {
      m["Sky"]++;
    } else if (buf <= 1999) {
      m["Blue"]++;
    } else if (buf <= 2399) {
      m["Yellow"]++;
    } else if (buf <= 2799) {
      m["Orange"]++;
    } else if (buf <= 3199) {
      m["Red"]++;
    } else {
      m["Rainbow"]++;
    }
  }
  long long le = int((m).size());
  long long hi = le;
  if (m["Rainbow"] > 0) {
    long long r = m["Rainbow"];
    long long c = int((m).size());
    long long diff = 8 - c + 1;
    long long chg = min(diff, r);
    hi = hi + chg - 1;
    le--;
  }
  cout << le << " " << hi << endl;
  return 0;
}
long long getDigit(long long n) {
  int i = 1;
  while (1) {
    n = n / 10;
    if (n == 0) break;
    i++;
  }
  return i;
}
long long CalcSumOfDigit(long long n) {
  long long s = 0;
  while (n) {
    s += n % 10;
    n = n / 10;
  }
  return s;
}
string upper(string str) {
  for (auto itr = str.begin(); itr != str.end(); itr++) {
    if (97 <= *itr && *itr <= 122) {
      *itr = *itr - 32;
    }
  }
  return str;
}
string lower(string str) {
  for (auto itr = str.begin(); itr != str.end(); itr++) {
    if (65 <= *itr && *itr <= 90) {
      *itr = *itr + 32;
    }
  }
  return str;
}
