#include <bits/stdc++.h>
#pragma GCC target("avx2")
#pragma GCC optimization("O3")
#pragma GCC optimization("unroll-loops")
#pragma comment(linker, "/stack:200000000")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
using namespace std;
char to_upper(char x) {
  if (97 <= int(x) && int(x) <= 122)
    return char(x - 32);
  else if (65 <= int(x) && int(x) <= 90)
    return x;
}
char to_lower(char x) {
  if (97 <= int(x) && int(x) <= 122)
    return x;
  else if (65 <= int(x) && int(x) <= 90)
    return char(x + 32);
}
int numerize(char x) {
  if (48 <= int(x) && int(x) <= 57)
    return int(x - '0');
  else if (97 <= int(x) && int(x) <= 122)
    return int(x - 96);
  else if (65 <= int(x) && int(x) <= 90)
    return int(x - 64);
}
bool isect(int l1, int r1, int l2, int r2) {
  pair<int, int> p1, p2;
  p1 = make_pair(l1, r1);
  p2 = make_pair(l2, r2);
  if (p1 > p2) swap(p1, p2);
  if (p2.first <= p1.second)
    return true;
  else
    return false;
}
long long fexp(long long num1, long long num2, long long MOD) {
  if (num2 == 0)
    return 1;
  else if (num2 == 1)
    return num1;
  else {
    long long temp = fexp(num1, num2 / 2, MOD);
    long long res = ((temp % MOD) * (temp % MOD)) % MOD;
    if (num2 % 2 == 1) res = ((res % MOD) * (num1 % MOD)) % MOD;
    return res;
  }
}
long long invmod(long long num, long long MOD) {
  return fexp(num, MOD - 2, MOD);
}
long long gcd(long long num1, long long num2) {
  if (num1 < num2) swap(num1, num2);
  long long num3 = num1 % num2;
  while (num3 > 0) {
    num1 = num2;
    num2 = num3;
    num3 = num1 % num2;
  }
  return num2;
}
long long lcm(long long num1, long long num2) {
  return (long long)(num1 / gcd(num1, num2)) * num2;
}
int wild, n, mn, mx;
set<string> s;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cin >> n;
  for (int i = 1; i <= n; i++) {
    int temp;
    cin >> temp;
    if (temp <= 399)
      s.insert("a");
    else if (temp <= 799)
      s.insert("b");
    else if (temp <= 1199)
      s.insert("c");
    else if (temp <= 1599)
      s.insert("d");
    else if (temp <= 1999)
      s.insert("e");
    else if (temp <= 2399)
      s.insert("f");
    else if (temp <= 2799)
      s.insert("g");
    else if (temp <= 3199)
      s.insert("h");
    else
      wild++;
  }
  mn = s.size();
  mx = mn + wild;
  cout << mn << " " << mx << '\n';
}
