#include<bits/stdc++.h>
#include<ext/pb_ds/tree_policy.hpp>
using namespace std;
#define mod 1000000007
#define all(v) v.begin(),v.end()
#define rep(i,a,b) for(i=(ll)a;i<(ll)b;i++)
#define revrep(i,a,b) for(i=(ll)a;i>=(ll)b;i--)
#define ii pair<double,double>
#define pb push_back
#define f first
#define s second
#define ll long long int
#define vi vector<ll>
#define rs resize
int go(int n)
{
  if(n>=1 and n<=399)
   return 0;
  if(n>=400 and n<=799)
   return 1;
  if(n>=800 and n<=1199)
   return 2;
  if(n>=1200 and n<=1599)
   return 3;
  if(n>=1600 and n<=1999)
   return 4;
  if(n>=2000 and n<=2399)
   return 5;
  if(n>=2400 and n<=2799)
   return 6;
  if(n>=2800 and n<=3199)
   return 7;
  return 8;
}
int main()
{
     std::ios::sync_with_stdio(false);
     ll n,i,a,cn = 0;
     cin>>n;
     int cnt[9];
     rep(i,0,9) cnt[i] = 0;
     rep(i,0,n)
     {
        cin>>a;
        cnt[go(a)]++;
     }
     rep(i,0,8)
      if(cnt[i] >0)
        cn++;
     cout<<cn<<" "<<min(8LL,cn + cnt[8]);
     return 0;
}
