#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

using namespace std;
using namespace __gnu_pbds;

#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define fbo find_by_order
#define ook order_of_key
#define INF 1e9

typedef long long ll;
typedef pair<ll,ll> ii;
typedef vector<int> vi;
typedef vector < pair<int, int> > vii;
typedef long double ld;
typedef tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> pbds;
typedef set<int>::iterator sit;
typedef map<int,int>::iterator mit;
typedef vector<int>::iterator vit;

int n, a, ans;
int used[9], level[9];

int main()
{
    cin >> n;
    level[0]=399;
    level[1]=799;
    level[2]=1199;
    level[3]=1599;
    level[4]=1999;
    level[5]=2399;
    level[6]=2799;
    level[7]=3199;
    level[8]=INF;
    for(int i =0; i < n; i++){
		cin >> a;
		for(int j = 0; j <= 8; j++){
			if(a<=level[j]){
				used[j]++;
				j=9;
			}
		}
	}
	for(int i = 0; i <= 7; i++){
		if(used[i]){
			ans++;
		}
	}
	cout << max(ans, used[8]) << " " <<min(8,ans+used[8])<< endl;
}
