#include <bits/stdc++.h>
using namespace std;
using ll = std::int64_t;
template <class T>
bool chmax(T &a, const T &b);
template <class T>
bool chmin(T &a, const T &b);
std::int64_t gcd(std::int64_t a, std::int64_t b);
std::int64_t gcd_s(std::int64_t aa, std::int64_t bb);
std::vector<std::pair<char, std::int64_t>> rle(std::string str);
bool is_prime(std::int64_t n);
std::vector<std::int64_t> divisor(std::int64_t n);
std::map<std::int64_t, std::int64_t> prime_factor(std::int64_t n);
void Main() {
  int n;
  cin >> n;
  int a[200];
  set<int> seta;
  int count_more3200 = 0;
  for (int i = 0; i < n; i++) {
    cin >> a[i];
    if (3200 <= a[i]) {
      count_more3200++;
    } else {
      seta.insert(a[i] / 400);
    }
  }
  std::cout << seta.size() << ' ' << seta.size() + count_more3200 << std::endl;
  return;
}
int main() {
  std::cin.tie(nullptr);
  std::ios_base::sync_with_stdio(false);
  std::cout << std::fixed << std::setprecision(15);
  Main();
  return 0;
}
template <class T>
bool chmax(T &a, const T &b) {
  if (a < b) {
    a = b;
    return true;
  }
  return false;
}
template <class T>
bool chmin(T &a, const T &b) {
  if (b < a) {
    a = b;
    return true;
  }
  return false;
}
std::int64_t gcd(std::int64_t a, std::int64_t b) {
  std::int64_t c;
  do {
    c = a % b;
    a = b;
    b = c;
  } while (c);
  return a;
}
std::int64_t gcd_s(std::int64_t aa, std::int64_t bb) {
  std::int64_t a = max(aa, bb);
  std::int64_t b = min(aa, bb);
  std::int64_t c;
  if (b == 0) {
    return -1;
  }
  do {
    c = a % b;
    a = b;
    b = c;
  } while (c);
  return a;
}
std::vector<std::pair<char, std::int64_t>> rle(std::string str) {
  std::vector<std::pair<char, std::int64_t>> data;
  char now = str[0];
  std::int64_t count = 0;
  for (std::int64_t i = 0; i < str.size() + 1; i++) {
    if (i == str.size()) {
      data.push_back(make_pair(str[i - 1], count));
      break;
    } else if (now != str[i]) {
      data.push_back(make_pair(now, count));
      now = str[i];
      count = 0;
    }
    count++;
  }
  return data;
}
bool is_prime(std::int64_t n) {
  for (std::int64_t i = 0; i * i <= n; i++) {
    if (n % i == 0) {
      return false;
    }
  }
  return n != 1;
}
std::vector<std::int64_t> divisor(std::int64_t n) {
  std::vector<std::int64_t> res;
  for (int i = 0; i < n; i++) {
    if (n % i == 0) {
      res.push_back(i);
      if (i != n / i) res.push_back(n / i);
    }
  }
  return res;
}
std::map<std::int64_t, std::int64_t> prime_factor(std::int64_t n) {
  std::map<std::int64_t, std::int64_t> res;
  for (int i = 2; i * i <= n; i++) {
    while (n % i == 0) {
      ++res[i];
      n /= i;
    }
  }
  if (n != 1) {
    res[n] = 1;
  }
  return res;
}
