#include<iostream>
#include<vector>
#include<algorithm>
#include<string>
#include<cmath>
#include<climits>
#include<map>
#include<set>
#include<queue>
#include<stack>
#include<bitset>
#include<iomanip>
#include<deque>
using namespace std;

#define rep(i,j,n) for(int i=(j);i<(n);i++)
#define rep2(i,j,n) for(int i=(j);i<=(n);i++)
#define all(i) i.begin(),i.end()

typedef vector<int> vi;
typedef vector<vector<int>> vvi;
typedef vector<string> vs;
typedef vector<vector<string>> vvs;
typedef pair<int, int> pi;
typedef long long i64;

int main() {
	int n;
	cin >> n;
	vi a(n);
	int x = 0;
	set<int> st;
	rep(i, 0, n) {
		cin >> a[i];
		if (1 <= a[i] && a[i] < 400) {
			st.insert(1);
		}
		else if (400 <= a[i] && a[i] < 800) {
			st.insert(2);
		}
		else if (800 <= a[i] && a[i] < 1200) {
			st.insert(3);
		}
		else if (1200 <= a[i] && a[i] < 1600) {
			st.insert(4);
		}
		else if (1600 <= a[i] && a[i] < 2000) {
			st.insert(5);
		}
		else if (2000 <= a[i] && a[i] < 2400) {
			st.insert(6);
		}
		else if (2400 <= a[i] && a[i] < 2800) {
			st.insert(7);
		}
		else if (2800 <= a[i] && a[i] < 3200) {
			st.insert(8);
		}
		else {
			x++;
		}
	}
	int min = st.size();
	if (min == 0) {
		min++;
	}
	int max = st.size() + x;
	cout << min << " " << max << endl;
	return 0:
}