import java.util.Scanner;
import java.io.*;
public class Student {
  //---------------------------------------------
  public static int readInput(Scanner in, String[] id, String[] name, String[] sec, String[] grade) {
    // อ่านเลขประจำตัว(id) ชื่อ(name) ตอนเรียน(sec) และ
    // เกรด(grade)ของนักเรียนจนหมดแฟ้ม
    int n = 0;
    while (in.hasNext()) {
      id[n] = in.next();
      name[n] = in.next();
      sec[n] = in.next();
      grade[n] = in.nextLine();
      n++;
    }
    return n;
  }  
  public static void swap(String[] x, int k) {
    String t = x[k];
    x[k] = x[k + 1];
    x[k + 1] = t;
  }
  //---------------------------------------------
  public static void count(String[] charGr, String[] grade,
                           int[] numGrade, int k) {
    for (int m = 0; m < charGr.length; m++) {
      if (grade[k].compareTo(charGr[m]) == 0)
        numGrade[m]++;
    }
  }        
  //---------------------------------------------
  public static void print(String[] charGr, int[] numGrade,
                           String msg) {
    for (int m = 0; m < charGr.length; m++) {
      System.out.println(msg + charGr[m]
               + "\t = " + numGrade[m]);
    }
    System.out.println();
  }
  //---------------------------------------------
  public static void main(String[] args)
                          throws IOException {
    Scanner in = new Scanner(new File("d.txt"));
    String[] id = new String[200];
    String[] name = new String[200];
    String[] sec = new String[200];
    String[] grade = new String[200];
    int n = readInput(in, id, name, sec, grade);
    
    //เรียงลำดับข้อมูลนักเรียนตามตอนเรียน
    for (int lastIndex = n - 1;
             lastIndex >= 1;
             lastIndex--) {
       boolean sorted = true;
      for (int k = 0; k < lastIndex; k++) {
        if ((sec[k].compareTo(sec[k + 1]) > 0)) {
          swap(id, k);
          swap(name, k);
          swap(sec, k);
          swap(grade, k);
          sorted = false;
        } else
          if (sec[k].compareTo(sec[k + 1]) == 0) {
          //ถ้าตอนเรียนซ้ำเรียงลำดับตามเลขประจำตัว
          if ((id[k].compareTo(id[k + 1]) > 0)) {
            swap(id, k);
            swap(name, k);
            swap(sec, k);
            swap(grade, k);
            sorted = false;
          }
        }
      }
      if (sorted) break;
    }
    //พิมพ์ข้อมูลนักเรียนทุกคนที่ผ่านการเรียงลำดับแล้ว
    for (int k = 0; k < n; k++) {
      System.out.println(id[k] + " " + name[k] 
            + "\t" + sec[k] + " " + grade[k]);
    }
    String[] charSec = {"01", "02", "03", "04", 
            "05", "06", "07", "08", "09", "10"};
    String[] charGr  = {"A", "B+", "B", "C+",
                        "C", "D+", "D", "F" };
    int[] numSec = new int[charSec.length];    
    int[] numGrade = new int[charGr.length];
    //หาจำนวนนักเรียนจำแนกตามตอนเรียนเก็บไว้ที่อาเรย์ numSec 
    //และจำแนกตามเกรดเก็บไว้ที่อาเรย์ numGrade
    for (int k = 0; k < n; k++) {
      count(charSec, sec, numSec, k);
      count(charGr, grade, numGrade, k);
    } 
    //พิมพ์จำนวนนักเรียนจำแนกตามตอนเรียน และจำแนกตามเกรด
    print(charSec, numSec, "Section ");
    print(charGr, numGrade, "Grade ");
  }
}
//------------- end of program  ---------------
