#include <bits/stdc++.h>
int num_to_color(int n) {
  if (n >= 1 && n <= 399) {
    return 1;
  } else if (n >= 400 && n <= 799) {
    return 2;
  } else if (n >= 800 && n <= 1199) {
    return 3;
  } else if (n >= 1200 && n <= 1599) {
    return 4;
  } else if (n >= 1600 && n <= 1999) {
    return 5;
  } else if (n >= 2000 && n <= 2399) {
    return 6;
  } else if (n >= 2400 && n <= 2799) {
    return 7;
  } else if (n >= 2800 && n <= 3199) {
    return 8;
  } else {
    return -1;
  }
}
std::map<int, int> m;
std::vector<int> vec;
int n;
int rainbow = 0;
int main() {
  std::cin >> n;
  vec.assign(n, 0);
  for (int i = 0; i < n; i++) {
    std::cin >> vec[i];
  }
  for (int i = 0; i < n; i++) {
    int x = num_to_color(vec[i]);
    if (x == -1) {
      rainbow++;
    } else {
      m[x] = 1;
    }
  }
  int min_color = 0;
  for (int k = 1; k <= 8; k++) {
    if (m[k] == 1) {
      min_color++;
    }
  }
  if (min_color == 0) {
    min_color = 1;
  }
  for (int i = 0; i < rainbow; i++) {
    for (int p = 1; p <= 8; p++) {
      if (m[p] == 0) {
        m[p]++;
        break;
      }
    }
  }
  int max_color = 0;
  for (int j = 1; j <= 8; j++) {
    if (m[j] == 1) {
      max_color++;
    }
  }
  std::cout << min_color << " " << max_color << std::endl;
}
