import java.util.*;
public class Main{

  public static void main(String[] args){
      Scanner sc = new Scanner(System.in);
      int n = sc.nextInt();
      int[] types = new int[8];
      int maxCnt = 0;
      for(int i = 0; i < n; i++) {
        int score = sc.nextInt();
        if(1 <= score && score < 400) {
          types[0] = 1;
        } else if(400 <= score && score < 800) {
          types[1] = 1;
        } else if(800 <= score && score < 1200) {
          types[2] = 1;
        } else if(1200 <= score && score < 1600) {
          types[3] = 1;
        } else if(1600 <= score && score < 2000) {
          types[4] = 1;
        } else if(2000 <= score && score < 2400) {
          types[5] = 1;
        } else if(2400 <= score && score < 2800) {
          types[6] = 1;
        } else if(2800 <= score && score < 3200) {
          types[7] = 1;
        } else {
          maxCnt++;
        }
      }
      int min = 0;
      int max = 0;
      for(int i = 0; i < types.length; i++) {
        if(types[i] > 0) {
          max++;
          min++;
        }
      }
      if(min == 0 && maxCnt > 0)
        min = 1;
      System.out.println(min + " " + (max + maxCnt));
  }

} import java.util.*; util.* java public class Main{

  public static void main(String[] args){
      Scanner sc = new Scanner(System.in);
      int n = sc.nextInt();
      int[] types = new int[8];
      int maxCnt = 0;
      for(int i = 0; i < n; i++) {
        int score = sc.nextInt();
        if(1 <= score && score < 400) {
          types[0] = 1;
        } else if(400 <= score && score < 800) {
          types[1] = 1;
        } else if(800 <= score && score < 1200) {
          types[2] = 1;
        } else if(1200 <= score && score < 1600) {
          types[3] = 1;
        } else if(1600 <= score && score < 2000) {
          types[4] = 1;
        } else if(2000 <= score && score < 2400) {
          types[5] = 1;
        } else if(2400 <= score && score < 2800) {
          types[6] = 1;
        } else if(2800 <= score && score < 3200) {
          types[7] = 1;
        } else {
          maxCnt++;
        }
      }
      int min = 0;
      int max = 0;
      for(int i = 0; i < types.length; i++) {
        if(types[i] > 0) {
          max++;
          min++;
        }
      }
      if(min == 0 && maxCnt > 0)
        min = 1;
      System.out.println(min + " " + (max + maxCnt));
  }

} Main public static void main(String[] args){
      Scanner sc = new Scanner(System.in);
      int n = sc.nextInt();
      int[] types = new int[8];
      int maxCnt = 0;
      for(int i = 0; i < n; i++) {
        int score = sc.nextInt();
        if(1 <= score && score < 400) {
          types[0] = 1;
        } else if(400 <= score && score < 800) {
          types[1] = 1;
        } else if(800 <= score && score < 1200) {
          types[2] = 1;
        } else if(1200 <= score && score < 1600) {
          types[3] = 1;
        } else if(1600 <= score && score < 2000) {
          types[4] = 1;
        } else if(2000 <= score && score < 2400) {
          types[5] = 1;
        } else if(2400 <= score && score < 2800) {
          types[6] = 1;
        } else if(2800 <= score && score < 3200) {
          types[7] = 1;
        } else {
          maxCnt++;
        }
      }
      int min = 0;
      int max = 0;
      for(int i = 0; i < types.length; i++) {
        if(types[i] > 0) {
          max++;
          min++;
        }
      }
      if(min == 0 && maxCnt > 0)
        min = 1;
      System.out.println(min + " " + (max + maxCnt));
  } main {
      Scanner sc = new Scanner(System.in);
      int n = sc.nextInt();
      int[] types = new int[8];
      int maxCnt = 0;
      for(int i = 0; i < n; i++) {
        int score = sc.nextInt();
        if(1 <= score && score < 400) {
          types[0] = 1;
        } else if(400 <= score && score < 800) {
          types[1] = 1;
        } else if(800 <= score && score < 1200) {
          types[2] = 1;
        } else if(1200 <= score && score < 1600) {
          types[3] = 1;
        } else if(1600 <= score && score < 2000) {
          types[4] = 1;
        } else if(2000 <= score && score < 2400) {
          types[5] = 1;
        } else if(2400 <= score && score < 2800) {
          types[6] = 1;
        } else if(2800 <= score && score < 3200) {
          types[7] = 1;
        } else {
          maxCnt++;
        }
      }
      int min = 0;
      int max = 0;
      for(int i = 0; i < types.length; i++) {
        if(types[i] > 0) {
          max++;
          min++;
        }
      }
      if(min == 0 && maxCnt > 0)
        min = 1;
      System.out.println(min + " " + (max + maxCnt));
  } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc int[] types = new int[8]; types new int[8] 8 int maxCnt = 0; maxCnt 0 for(int i = 0; i < n; i++) {
        int score = sc.nextInt();
        if(1 <= score && score < 400) {
          types[0] = 1;
        } else if(400 <= score && score < 800) {
          types[1] = 1;
        } else if(800 <= score && score < 1200) {
          types[2] = 1;
        } else if(1200 <= score && score < 1600) {
          types[3] = 1;
        } else if(1600 <= score && score < 2000) {
          types[4] = 1;
        } else if(2000 <= score && score < 2400) {
          types[5] = 1;
        } else if(2400 <= score && score < 2800) {
          types[6] = 1;
        } else if(2800 <= score && score < 3200) {
          types[7] = 1;
        } else {
          maxCnt++;
        }
      } int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
        int score = sc.nextInt();
        if(1 <= score && score < 400) {
          types[0] = 1;
        } else if(400 <= score && score < 800) {
          types[1] = 1;
        } else if(800 <= score && score < 1200) {
          types[2] = 1;
        } else if(1200 <= score && score < 1600) {
          types[3] = 1;
        } else if(1600 <= score && score < 2000) {
          types[4] = 1;
        } else if(2000 <= score && score < 2400) {
          types[5] = 1;
        } else if(2400 <= score && score < 2800) {
          types[6] = 1;
        } else if(2800 <= score && score < 3200) {
          types[7] = 1;
        } else {
          maxCnt++;
        }
      } {
        int score = sc.nextInt();
        if(1 <= score && score < 400) {
          types[0] = 1;
        } else if(400 <= score && score < 800) {
          types[1] = 1;
        } else if(800 <= score && score < 1200) {
          types[2] = 1;
        } else if(1200 <= score && score < 1600) {
          types[3] = 1;
        } else if(1600 <= score && score < 2000) {
          types[4] = 1;
        } else if(2000 <= score && score < 2400) {
          types[5] = 1;
        } else if(2400 <= score && score < 2800) {
          types[6] = 1;
        } else if(2800 <= score && score < 3200) {
          types[7] = 1;
        } else {
          maxCnt++;
        }
      } int score = sc.nextInt(); score sc.nextInt() sc.nextInt sc if(1 <= score && score < 400) {
          types[0] = 1;
        } else if(400 <= score && score < 800) {
          types[1] = 1;
        } else if(800 <= score && score < 1200) {
          types[2] = 1;
        } else if(1200 <= score && score < 1600) {
          types[3] = 1;
        } else if(1600 <= score && score < 2000) {
          types[4] = 1;
        } else if(2000 <= score && score < 2400) {
          types[5] = 1;
        } else if(2400 <= score && score < 2800) {
          types[6] = 1;
        } else if(2800 <= score && score < 3200) {
          types[7] = 1;
        } else {
          maxCnt++;
        } 1 <= score && score < 400 1 <= score 1 score score < 400 score 400 {
          types[0] = 1;
        } types[0] = 1 types[0] types 0 1 if(400 <= score && score < 800) {
          types[1] = 1;
        } else if(800 <= score && score < 1200) {
          types[2] = 1;
        } else if(1200 <= score && score < 1600) {
          types[3] = 1;
        } else if(1600 <= score && score < 2000) {
          types[4] = 1;
        } else if(2000 <= score && score < 2400) {
          types[5] = 1;
        } else if(2400 <= score && score < 2800) {
          types[6] = 1;
        } else if(2800 <= score && score < 3200) {
          types[7] = 1;
        } else {
          maxCnt++;
        } 400 <= score && score < 800 400 <= score 400 score score < 800 score 800 {
          types[1] = 1;
        } types[1] = 1 types[1] types 1 1 if(800 <= score && score < 1200) {
          types[2] = 1;
        } else if(1200 <= score && score < 1600) {
          types[3] = 1;
        } else if(1600 <= score && score < 2000) {
          types[4] = 1;
        } else if(2000 <= score && score < 2400) {
          types[5] = 1;
        } else if(2400 <= score && score < 2800) {
          types[6] = 1;
        } else if(2800 <= score && score < 3200) {
          types[7] = 1;
        } else {
          maxCnt++;
        } 800 <= score && score < 1200 800 <= score 800 score score < 1200 score 1200 {
          types[2] = 1;
        } types[2] = 1 types[2] types 2 1 if(1200 <= score && score < 1600) {
          types[3] = 1;
        } else if(1600 <= score && score < 2000) {
          types[4] = 1;
        } else if(2000 <= score && score < 2400) {
          types[5] = 1;
        } else if(2400 <= score && score < 2800) {
          types[6] = 1;
        } else if(2800 <= score && score < 3200) {
          types[7] = 1;
        } else {
          maxCnt++;
        } 1200 <= score && score < 1600 1200 <= score 1200 score score < 1600 score 1600 {
          types[3] = 1;
        } types[3] = 1 types[3] types 3 1 if(1600 <= score && score < 2000) {
          types[4] = 1;
        } else if(2000 <= score && score < 2400) {
          types[5] = 1;
        } else if(2400 <= score && score < 2800) {
          types[6] = 1;
        } else if(2800 <= score && score < 3200) {
          types[7] = 1;
        } else {
          maxCnt++;
        } 1600 <= score && score < 2000 1600 <= score 1600 score score < 2000 score 2000 {
          types[4] = 1;
        } types[4] = 1 types[4] types 4 1 if(2000 <= score && score < 2400) {
          types[5] = 1;
        } else if(2400 <= score && score < 2800) {
          types[6] = 1;
        } else if(2800 <= score && score < 3200) {
          types[7] = 1;
        } else {
          maxCnt++;
        } 2000 <= score && score < 2400 2000 <= score 2000 score score < 2400 score 2400 {
          types[5] = 1;
        } types[5] = 1 types[5] types 5 1 if(2400 <= score && score < 2800) {
          types[6] = 1;
        } else if(2800 <= score && score < 3200) {
          types[7] = 1;
        } else {
          maxCnt++;
        } 2400 <= score && score < 2800 2400 <= score 2400 score score < 2800 score 2800 {
          types[6] = 1;
        } types[6] = 1 types[6] types 6 1 if(2800 <= score && score < 3200) {
          types[7] = 1;
        } else {
          maxCnt++;
        } 2800 <= score && score < 3200 2800 <= score 2800 score score < 3200 score 3200 {
          types[7] = 1;
        } types[7] = 1 types[7] types 7 1 {
          maxCnt++;
        } maxCnt++ maxCnt int min = 0; min 0 int max = 0; max 0 for(int i = 0; i < types.length; i++) {
        if(types[i] > 0) {
          max++;
          min++;
        }
      } int i = 0; int i = 0; i 0 i < types.length i types.length types types.length i++ i++ i {
        if(types[i] > 0) {
          max++;
          min++;
        }
      } {
        if(types[i] > 0) {
          max++;
          min++;
        }
      } if(types[i] > 0) {
          max++;
          min++;
        } types[i] > 0 types[i] types i 0 {
          max++;
          min++;
        } max++ max min++ min if(min == 0 && maxCnt > 0)
        min = 1; min == 0 && maxCnt > 0 min == 0 min 0 maxCnt > 0 maxCnt 0 min = 1 min 1 System.out.println(min + " " + (max + maxCnt)) System.out.println System.out System System.out min + " " + (max + maxCnt) min + " " + (max + maxCnt) min " " (max + maxCnt) max maxCnt String[] args args public class Main{

  public static void main(String[] args){
      Scanner sc = new Scanner(System.in);
      int n = sc.nextInt();
      int[] types = new int[8];
      int maxCnt = 0;
      for(int i = 0; i < n; i++) {
        int score = sc.nextInt();
        if(1 <= score && score < 400) {
          types[0] = 1;
        } else if(400 <= score && score < 800) {
          types[1] = 1;
        } else if(800 <= score && score < 1200) {
          types[2] = 1;
        } else if(1200 <= score && score < 1600) {
          types[3] = 1;
        } else if(1600 <= score && score < 2000) {
          types[4] = 1;
        } else if(2000 <= score && score < 2400) {
          types[5] = 1;
        } else if(2400 <= score && score < 2800) {
          types[6] = 1;
        } else if(2800 <= score && score < 3200) {
          types[7] = 1;
        } else {
          maxCnt++;
        }
      }
      int min = 0;
      int max = 0;
      for(int i = 0; i < types.length; i++) {
        if(types[i] > 0) {
          max++;
          min++;
        }
      }
      if(min == 0 && maxCnt > 0)
        min = 1;
      System.out.println(min + " " + (max + maxCnt));
  }

} public class Main{

  public static void main(String[] args){
      Scanner sc = new Scanner(System.in);
      int n = sc.nextInt();
      int[] types = new int[8];
      int maxCnt = 0;
      for(int i = 0; i < n; i++) {
        int score = sc.nextInt();
        if(1 <= score && score < 400) {
          types[0] = 1;
        } else if(400 <= score && score < 800) {
          types[1] = 1;
        } else if(800 <= score && score < 1200) {
          types[2] = 1;
        } else if(1200 <= score && score < 1600) {
          types[3] = 1;
        } else if(1600 <= score && score < 2000) {
          types[4] = 1;
        } else if(2000 <= score && score < 2400) {
          types[5] = 1;
        } else if(2400 <= score && score < 2800) {
          types[6] = 1;
        } else if(2800 <= score && score < 3200) {
          types[7] = 1;
        } else {
          maxCnt++;
        }
      }
      int min = 0;
      int max = 0;
      for(int i = 0; i < types.length; i++) {
        if(types[i] > 0) {
          max++;
          min++;
        }
      }
      if(min == 0 && maxCnt > 0)
        min = 1;
      System.out.println(min + " " + (max + maxCnt));
  }

} Main
import java.util.*;
public class Main{

  public static void main(String[] args){
      Scanner sc = new Scanner(System.in);
      int n = sc.nextInt();
      int[] types = new int[8];
      int maxCnt = 0;
      for(int i = 0; i < n; i++) {
        int score = sc.nextInt();
        if(1 <= score && score < 400) {
          types[0] = 1;
        } else if(400 <= score && score < 800) {
          types[1] = 1;
        } else if(800 <= score && score < 1200) {
          types[2] = 1;
        } else if(1200 <= score && score < 1600) {
          types[3] = 1;
        } else if(1600 <= score && score < 2000) {
          types[4] = 1;
        } else if(2000 <= score && score < 2400) {
          types[5] = 1;
        } else if(2400 <= score && score < 2800) {
          types[6] = 1;
        } else if(2800 <= score && score < 3200) {
          types[7] = 1;
        } else {
          maxCnt++;
        }
      }
      int min = 0;
      int max = 0;
      for(int i = 0; i < types.length; i++) {
        if(types[i] > 0) {
          max++;
          min++;
        }
      }
      if(min == 0 && maxCnt > 0)
        min = 1;
      System.out.println(min + " " + (max + maxCnt));
  }

}
