using System;
using System.IO;
using System.Linq;
using System.Collections.Generic;

public class Program
{

    public void Proc()
    {

        /*
         * レート 1-399：灰色
		レート 400-799：茶色
		レート 800-1199：緑色
		レート 1200-1599：水色
		レート 1600-1999：青色
		レート 2000-2399：黄色
		レート 2400-2799：橙色
		レート 2800-3199：赤色
		*/

        int inputCount = int.Parse(Reader.ReadLine());
        int[] scoreList = Reader.ReadLine().Split(' ').Select(a => int.Parse(a)).ToArray();

        int overRed = 0;
        Dictionary<string, int> cnt = new Dictionary<string, int>();
        scoreList.ToList().ForEach(a=>{
            if(a>=3200) {
                overRed++;
            } else if(a>=2800) {
                cnt["red"] = 1; 
            } else if(a>=2400) {
                cnt["orange"] = 1;
            } else if(a>=2000) {
                cnt["yellow"] = 1;
            } else if(a>=1600) {
                cnt["blue"] = 1;
            } else if(a>=1200) {
                cnt["aqua"] = 1;
            } else if(a>=800) {
                cnt["green"] = 1;
            } else if(a>=400) {
                cnt["brown"] = 1;
            } else {
                cnt["gray"] = 1;
            }
        });

        int maxColorCount = 8;

        int min = Math.Max(cnt.Count(), 1);
        int max = Math.Min(cnt.Count() + overRed, maxColorCount);
        Console.WriteLine(min + " " + max);
    }

    public class Reader
	{
		private static StringReader sr;
		public static bool IsDebug = false;
		public static string ReadLine()
		{
			if (IsDebug)
			{
				if (sr == null)
				{
					sr = new StringReader(InputText.Trim());
				}
				return sr.ReadLine();
			}
			else
			{
				return Console.ReadLine();
			}
		}
		private static string InputText = @"


5
1100 1900 2800 3200 3200



";
	}

	public static void Main(string[] args)
	{
#if DEBUG
		Reader.IsDebug = true;
#endif
		Program prg = new Program();
		prg.Proc();
	}
}
