#include <bits/stdc++.h>
#pragma warning(disable : 4996)
int i_dsort(const void* a, const void* b);
int i_asort(const void* a, const void* b);
int _gcd(int a, int b);
int _swp(int* a, int* b);
int _cknum(char* a, int n);
int _atoi(char* s, int len);
int s_asort(const void* a, const void* b);
int s_dsort(const void* a, const void* b);
int s_asort(const void* a, const void* b) {
  return (strcmp((char*)a, (char*)b));
}
int s_dsort(const void* a, const void* b) {
  return (strcmp((char*)b, (char*)a));
}
int i_dsort(const void* a, const void* b) { return (*(int*)b - *(int*)a); }
int i_asort(const void* a, const void* b) { return (*(int*)a - *(int*)b); }
int _gcd(int a, int b) {
  int r, tmp;
  if (a < b) {
    tmp = a;
    a = b;
    b = tmp;
  }
  r = a % b;
  while (r) {
    if (!r) break;
    a = b;
    b = r;
    r = a % b;
  }
  return (b);
}
int _swp(int* a, int* b) {
  int tmp;
  tmp = *b;
  *b = *a;
  *a = tmp;
  return 0;
}
int _cknum(char* a, int n) {
  int i;
  char t = '0';
  for (i = 0; i < n; i++) {
    if (a[i] < '0' || a[i] > '9') return 1;
  }
  return 0;
}
int _atoi(char* s, int len) {
  char tmp[20];
  memcpy(tmp, s, len);
  tmp[len] = 0x00;
  return (atoi(tmp));
}
long long _pfact(long long a);
static long long pf[100000000];
static long long pc;
long long _pfact(long long a) {
  long i, r;
  if (a % 2 == 0) {
    pf[pc] = 2;
    pc++;
    return (_pfact(a / 2));
  }
  r = sqrt(a);
  for (i = 3; i <= r; i += 2) {
    if (a % i == 0) {
      pf[pc] = i;
      pc++;
      return (_pfact(a / i));
    }
  }
  if (a != 1) {
    pf[pc] = a;
    pc++;
  }
  return 0;
}
int main(void) {
  int c[8], n, a;
  memset(c, 0, sizeof(c));
  scanf("%d", &n);
  int i, x = 0;
  for (i = 0; i < n; i++) {
    scanf("%d", &a);
    if (a >= 3200) {
      x++;
      continue;
    }
    c[a / 400] = 1;
  }
  int r = 0;
  for (i = 0; i < 8; i++)
    if (c[i]) r++;
  int max, min;
  min = (r) ? r : 1;
  max = (x + r >= 8) ? 8 : x + r;
  printf("%d %d\n", min, max);
  return 0;
}
