#include<iostream>
#include<algorithm>
#include<cmath>
#include<map>
#include<numeric>
#include<set>
#include<string>
#include<utility>
#include<vector>

#define rep(i, a, n)  for(int i=a; i<n; i++)
#define per(i, a, n)  for(int i=n-1; i>=a; i--)
#define all(x)  (x).begin(), (x).end()
#define MAX 10000
using namespace std;
typedef long long int ll;

int main(){
  int n;  cin >> n;
  map<string, int> mp;
  int other = 0;
  int minAns, maxAns;
  vector<int> rate(100);
  rep(i, 0, n){
    cin >> rate[i];
    if(1 <= rate[i] and rate[i] <= 399){
      mp["灰色"]++;
    }
    else if(400 <= rate[i] and rate[i] <= 799){
      mp["茶色"]++;
    }
    else if(800 <= rate[i] and rate[i] <= 1199){
      mp["緑色"]++;
    }
    else if(1200 <= rate[i] and rate[i] <= 1599){
      mp["水色"]++;
    }
    else if(1600 <= rate[i] and rate[i] <= 1999){
      mp["青色"]++;
    }
    else if(2000 <= rate[i] and rate[i] <= 2399){
      mp["黄色"]++;
    }
    else if(2400 <= rate[i] and rate[i] <= 2799){
      mp["橙色"]++;
    }
    else if(2800 <= rate[i] and rate[i] <= 3199){
      mp["赤色"]++;
    }
    else{
      other++;
    }
  }
  if(mp.size() == 0) {
    minAns = 1;
    maxAns = other;
  else {
    minAns = mp.size();
    maxAns = minAns + other;
  }
  
  cout << minAns << " " << maxAns << endl;
  return 0;
}