import java.io.*;
import java.util.*;

public class Program_14_3 {
   public static void main(String [] args) throws Exception {
      Scanner keyboard = new Scanner(System.in);    
      
      System.out.print("roster file? ");
      String filename = keyboard.next();
      
      final int CAPACITY = 100;
      
      Student [] students = new Student[CAPACITY];
      
      int size = read(filename, students, CAPACITY);
      
      double classAverage = calculateClassAverage(students, size);
      
      printRoster(students, size, classAverage);
   }
   
   public static int read(String filename, Student [] students, int capacity) throws IOException {
      Scanner scanner = new Scanner(new File(filename));
      
      int size = 0;
      
      while (scanner.hasNext()) {
         if (size >= capacity) {
            System.out.print("Reached array capacity and still more data. Make the array bigger");
            System.exit(1);
         }
         String lastName = scanner.next();
         String firstName = scanner.next();
         int midterm = scanner.nextInt();
         int finalExam = scanner.nextInt();
	    students[size] = new Student(lastName, firstName, midterm, finalExam);
         size++;
      }
      return size;
   }
      
   public static double calculateClassAverage(Student [] students, int size) {
      double total = 0;
      for (int i = 0; i < size; i++)
         total += students[i].average;
      return total / size;
   }
   
   public static void printRoster(Student [] students, int size, double classAverage) {
      for (int i = 0; i < size; i++)
         System.out.println(students[i] + " " + (students[i].average >= classAverage ? "Above" : "Below"));
   }
   
}

class Student {
	Student(String last, String first, int mid, int fin) {
		lastName = last;
		firstName = first;
		midterm = mid;
		finalExam = fin;
		average = (midterm + finalExam) / 2.0;
		grade = average >= 90 ? 'A' : average >= 80 ? 'B' : average >= 70 ? 'C' : average >= 60 ? 'D' : 'F';
	}
      
	public String toString() {return lastName + " " + firstName + " " + average + " " + grade;}

	String lastName, firstName;
	int midterm, finalExam;
	double average;
	char grade;
}
