Professor P is very confused by the recent grading system changes. Instead of using 0 to 100 as grades, the university decides to use an A+ to F system. Professor P decides to give the students the 0-100 grades as usual, but he needs a program to convert the 0-100 grades and compute the average.

This program will read grades from stdin until EOF, prints each grade, and compute the average. However, professor P expects that this program will behave differently.

If a #define HUNDRED is defined, this program will behave like before. The program will print all grades, then compute the average grade using integer arithmetic. On the other hand,

if a #define APLUS is defined. This program will behave very differently. First every grade will be converted to a rank from A+ to F. Each rank has a corresponding grade between 0 and 4.3, which we will define as rank grade. You program will then compute the average rank grade. Finally, each rank has another 0-100 grade, which we will define as 100 grade. You will compute the average 100 grade as well.