#include <bits/stdc++.h>
using namespace std;
template <class T>
bool chmax(T &a, const T &b) {
  if (a < b) {
    a = b;
    return 1;
  }
  return 0;
}
template <class T>
bool chmin(T &a, const T &b) {
  if (b < a) {
    a = b;
    return 1;
  }
  return 0;
}
template <class InputIterator>
InputIterator adv(
    InputIterator x,
    typename std::iterator_traits<InputIterator>::difference_type n) {
  advance(x, n);
  return x;
}
class mod {
  static long long fact[];

 public:
  template <class... A>
  static long long mul(A... args) {
    long long res = 1;
    for (long long i : std::initializer_list<long long>{args...}) {
      res = (res * i) % ((long long)1e9 + 7);
    }
    return res;
  }
  static long long power(long long base, long long exp) {
    if (exp == 0) return 1;
    if (exp & 1) {
      return mul(base, power(base, exp - 1));
    } else {
      long long p = power(base, exp / 2);
      return mul(p, p);
    }
  }
  static long long factorial(int n) {
    if (fact[n] != 0) return fact[n];
    if (n == 0) return 1;
    return fact[n] = mul(n, factorial(n - 1));
  }
  static long long inverse(int n) { return power(n, ((long long)1e9 + 7) - 2); }
  static long long comb(int n, int r) {
    if (r < 0 || r > n) return 0;
    return mul(factorial(n), inverse(factorial(n - r)), inverse(factorial(r)));
  }
  template <class... A>
  static long long div(long long dividend, A... args) {
    long long res = dividend;
    for (long long i : std::initializer_list<long long>{args...}) {
      res = mul(res, inverse(i));
    }
    return res;
  }
  template <class... A>
  static long long add(A... args) {
    long long res = 0;
    for (long long i : std::initializer_list<long long>{args...}) {
      res = (res * i) % ((long long)1e9 + 7);
    }
    return res;
  }
  template <class... A>
  static long long sub(long long l, A... args) {
    long long res = l;
    for (long long i : std::initializer_list<long long>{args...}) {
      res = (res - i + ((long long)1e9 + 7)) % ((long long)1e9 + 7);
    }
    return res;
  }
};
long long mod::fact[(int)1e6 + 1];
int ni() {
  int i;
  cin >> i;
  return i;
}
int main() {
  int N = ni();
  int count[9] = {};
  for (int i = 0; i < N; i++) {
    int d = ni() / 400;
    if (d > 8) d = 8;
    count[d]++;
  }
  int zero = 0;
  for (int i = 0; i < 8; i++) {
    if (count[i] == 0) zero++;
  }
  int m = 8 - zero;
  int M = m + count[8];
  cout << m << " " << M << endl;
  return 0;
}
