#include <bits/stdc++.h>
using namespace std;
long int pow107 = (int)pow(10, 9) + 7;
int ilimit = INT_MAX;
long int llimit = LONG_MAX;
bool comp(pair<int, string> a, pair<int, string> b) {
  if (a.first != b.first)
    return a.first > b.first;
  else
    return a.second < b.second;
}
long int jou(long int x, long int y) {
  long int f = 1;
  for (int i = 0; i < y; ++i) {
    f = f * x % pow107;
  }
  return f;
}
bool pn(long int x) {
  if (x != 2 && x % 2 == 0) return false;
  for (int i = 3; i < x; ++i) {
    if (x != i && x % i == 0) return false;
  }
  return true;
}
long int factorial(long int n) {
  long int f = 1;
  for (long int i = 1; i <= n; ++i) {
    f = f * i % pow107;
  }
  return f;
}
int main() {
  int n, min = 0, max = 0, c = 0;
  bool f[8];
  cin >> n;
  for (int i = 0; i < 8; ++i) {
    f[i] = true;
  }
  for (int i = 0; i < n; ++i) {
    int a;
    cin >> a;
    if (f[0] && a >= 1 && a <= 399) {
      min++;
      max++;
      f[0] = false;
    }
    if (f[1] && a >= 400 && a <= 799) {
      min++;
      max++;
      f[1] = false;
    }
    if (f[2] && a >= 800 && a <= 1199) {
      min++;
      max++;
      f[2] = false;
    }
    if (f[3] && a >= 1200 && a <= 1599) {
      min++;
      max++;
      f[3] = false;
    }
    if (f[4] && a >= 1600 && a <= 1999) {
      min++;
      max++;
      f[4] = false;
    }
    if (f[5] && a >= 2000 && a <= 2399) {
      min++;
      max++;
      f[5] = false;
    }
    if (f[6] && a >= 2400 && a <= 2799) {
      min++;
      max++;
      f[6] = false;
    }
    if (f[7] && a >= 2800 && a <= 3199) {
      min++;
      max++;
      f[7] = false;
    }
    if (a >= 3200) {
      c++;
    }
  }
  cout << (min == 0 ? 1 : min) << " " << (max + c <= 8 ? max + c : 8) << endl;
}
