#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::vector<int> vec, colors;
int n, a;


int main() {
    int rainbow = 0;
    std::cin >> n;
    vec.assign(n, 0);
    colors.assign(n+1, 0);
    for (int i = 0; i < n; i++) {
        std::cin >> a;
        vec.push_back(num_to_color(a));
    }
    for (int j = 0; j < n; j++) {
        if (vec[j] == -1) {
            rainbow++;
        }
        else {
            colors[vec[j]]++;
        }
    }
    int max_num = 0;
    int min_num = 0;
    for (int r = 1; r <= 8; r++) {
        if (color[r] >= 1) {
            min_num++;
        }
    }
    if (min_num == 0) {
        min_num = 1;
        max_num = std::min(rainbow, 8);
    else {
        max_num = std::min(min_num+rainbow, 8);
    }
    std::cout << min_num << " " << max_num << std::endl;
    
    
}

