import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main{

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		List<String> gradingResult = new ArrayList<>();
		while (true) {
			int m = s.nextInt();
			int f = s.nextInt();
			int r = s.nextInt();
			s.nextLine();
			if (m == -1 && f == -1 && r == -1) {
				break;
			}
			if ((m == -1 || f == -1)) {
				gradingResult.add("F");
			} else if ((m + f) >= 80) {
				gradingResult.add("A");
			} else if (((m + f) < 80) && ((m + f) >= 65)) {
				gradingResult.add("B");
			} else if (((m + f) < 65) && ((m + f) >= 50)) {
				gradingResult.add("C");
			} else if (((m + f) < 50) && ((m + f) >= 30)) {

				if (r >= 50) {
					gradingResult.add("C");
				} else {
					gradingResult.add("D");
				}
			} else if ((m + f) < 30) {
				gradingResult.add("F");
			}

		}
		for (int i = 0; i < gradingResult.size(); i++) {
			System.out.println(gradingResult.get(i));
		}
	}

} import java.util.ArrayList; ArrayList java.util import java.util.List; List java.util import java.util.Scanner; Scanner java.util public class Main{

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		List<String> gradingResult = new ArrayList<>();
		while (true) {
			int m = s.nextInt();
			int f = s.nextInt();
			int r = s.nextInt();
			s.nextLine();
			if (m == -1 && f == -1 && r == -1) {
				break;
			}
			if ((m == -1 || f == -1)) {
				gradingResult.add("F");
			} else if ((m + f) >= 80) {
				gradingResult.add("A");
			} else if (((m + f) < 80) && ((m + f) >= 65)) {
				gradingResult.add("B");
			} else if (((m + f) < 65) && ((m + f) >= 50)) {
				gradingResult.add("C");
			} else if (((m + f) < 50) && ((m + f) >= 30)) {

				if (r >= 50) {
					gradingResult.add("C");
				} else {
					gradingResult.add("D");
				}
			} else if ((m + f) < 30) {
				gradingResult.add("F");
			}

		}
		for (int i = 0; i < gradingResult.size(); i++) {
			System.out.println(gradingResult.get(i));
		}
	}

} Main public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		List<String> gradingResult = new ArrayList<>();
		while (true) {
			int m = s.nextInt();
			int f = s.nextInt();
			int r = s.nextInt();
			s.nextLine();
			if (m == -1 && f == -1 && r == -1) {
				break;
			}
			if ((m == -1 || f == -1)) {
				gradingResult.add("F");
			} else if ((m + f) >= 80) {
				gradingResult.add("A");
			} else if (((m + f) < 80) && ((m + f) >= 65)) {
				gradingResult.add("B");
			} else if (((m + f) < 65) && ((m + f) >= 50)) {
				gradingResult.add("C");
			} else if (((m + f) < 50) && ((m + f) >= 30)) {

				if (r >= 50) {
					gradingResult.add("C");
				} else {
					gradingResult.add("D");
				}
			} else if ((m + f) < 30) {
				gradingResult.add("F");
			}

		}
		for (int i = 0; i < gradingResult.size(); i++) {
			System.out.println(gradingResult.get(i));
		}
	} main {
		Scanner s = new Scanner(System.in);
		List<String> gradingResult = new ArrayList<>();
		while (true) {
			int m = s.nextInt();
			int f = s.nextInt();
			int r = s.nextInt();
			s.nextLine();
			if (m == -1 && f == -1 && r == -1) {
				break;
			}
			if ((m == -1 || f == -1)) {
				gradingResult.add("F");
			} else if ((m + f) >= 80) {
				gradingResult.add("A");
			} else if (((m + f) < 80) && ((m + f) >= 65)) {
				gradingResult.add("B");
			} else if (((m + f) < 65) && ((m + f) >= 50)) {
				gradingResult.add("C");
			} else if (((m + f) < 50) && ((m + f) >= 30)) {

				if (r >= 50) {
					gradingResult.add("C");
				} else {
					gradingResult.add("D");
				}
			} else if ((m + f) < 30) {
				gradingResult.add("F");
			}

		}
		for (int i = 0; i < gradingResult.size(); i++) {
			System.out.println(gradingResult.get(i));
		}
	} Scanner s = new Scanner(System.in); s new Scanner(System.in) List<String> gradingResult = new ArrayList<>(); gradingResult new ArrayList<>() while (true) {
			int m = s.nextInt();
			int f = s.nextInt();
			int r = s.nextInt();
			s.nextLine();
			if (m == -1 && f == -1 && r == -1) {
				break;
			}
			if ((m == -1 || f == -1)) {
				gradingResult.add("F");
			} else if ((m + f) >= 80) {
				gradingResult.add("A");
			} else if (((m + f) < 80) && ((m + f) >= 65)) {
				gradingResult.add("B");
			} else if (((m + f) < 65) && ((m + f) >= 50)) {
				gradingResult.add("C");
			} else if (((m + f) < 50) && ((m + f) >= 30)) {

				if (r >= 50) {
					gradingResult.add("C");
				} else {
					gradingResult.add("D");
				}
			} else if ((m + f) < 30) {
				gradingResult.add("F");
			}

		} true {
			int m = s.nextInt();
			int f = s.nextInt();
			int r = s.nextInt();
			s.nextLine();
			if (m == -1 && f == -1 && r == -1) {
				break;
			}
			if ((m == -1 || f == -1)) {
				gradingResult.add("F");
			} else if ((m + f) >= 80) {
				gradingResult.add("A");
			} else if (((m + f) < 80) && ((m + f) >= 65)) {
				gradingResult.add("B");
			} else if (((m + f) < 65) && ((m + f) >= 50)) {
				gradingResult.add("C");
			} else if (((m + f) < 50) && ((m + f) >= 30)) {

				if (r >= 50) {
					gradingResult.add("C");
				} else {
					gradingResult.add("D");
				}
			} else if ((m + f) < 30) {
				gradingResult.add("F");
			}

		} int m = s.nextInt(); m s.nextInt() s.nextInt s int f = s.nextInt(); f s.nextInt() s.nextInt s int r = s.nextInt(); r s.nextInt() s.nextInt s s.nextLine() s.nextLine s if (m == -1 && f == -1 && r == -1) {
				break;
			} m == -1 && f == -1 && r == -1 m == -1 && f == -1 && r == -1 m == -1 m -1 1 f == -1 f -1 1 r == -1 r -1 1 {
				break;
			} break; if ((m == -1 || f == -1)) {
				gradingResult.add("F");
			} else if ((m + f) >= 80) {
				gradingResult.add("A");
			} else if (((m + f) < 80) && ((m + f) >= 65)) {
				gradingResult.add("B");
			} else if (((m + f) < 65) && ((m + f) >= 50)) {
				gradingResult.add("C");
			} else if (((m + f) < 50) && ((m + f) >= 30)) {

				if (r >= 50) {
					gradingResult.add("C");
				} else {
					gradingResult.add("D");
				}
			} else if ((m + f) < 30) {
				gradingResult.add("F");
			} (m == -1 || f == -1) m == -1 m -1 1 f == -1 f -1 1 {
				gradingResult.add("F");
			} gradingResult.add("F") gradingResult.add gradingResult "F" if ((m + f) >= 80) {
				gradingResult.add("A");
			} else if (((m + f) < 80) && ((m + f) >= 65)) {
				gradingResult.add("B");
			} else if (((m + f) < 65) && ((m + f) >= 50)) {
				gradingResult.add("C");
			} else if (((m + f) < 50) && ((m + f) >= 30)) {

				if (r >= 50) {
					gradingResult.add("C");
				} else {
					gradingResult.add("D");
				}
			} else if ((m + f) < 30) {
				gradingResult.add("F");
			} (m + f) >= 80 (m + f) m f 80 {
				gradingResult.add("A");
			} gradingResult.add("A") gradingResult.add gradingResult "A" if (((m + f) < 80) && ((m + f) >= 65)) {
				gradingResult.add("B");
			} else if (((m + f) < 65) && ((m + f) >= 50)) {
				gradingResult.add("C");
			} else if (((m + f) < 50) && ((m + f) >= 30)) {

				if (r >= 50) {
					gradingResult.add("C");
				} else {
					gradingResult.add("D");
				}
			} else if ((m + f) < 30) {
				gradingResult.add("F");
			} ((m + f) < 80) && ((m + f) >= 65) ((m + f) < 80) (m + f) m f 80 ((m + f) >= 65) (m + f) m f 65 {
				gradingResult.add("B");
			} gradingResult.add("B") gradingResult.add gradingResult "B" if (((m + f) < 65) && ((m + f) >= 50)) {
				gradingResult.add("C");
			} else if (((m + f) < 50) && ((m + f) >= 30)) {

				if (r >= 50) {
					gradingResult.add("C");
				} else {
					gradingResult.add("D");
				}
			} else if ((m + f) < 30) {
				gradingResult.add("F");
			} ((m + f) < 65) && ((m + f) >= 50) ((m + f) < 65) (m + f) m f 65 ((m + f) >= 50) (m + f) m f 50 {
				gradingResult.add("C");
			} gradingResult.add("C") gradingResult.add gradingResult "C" if (((m + f) < 50) && ((m + f) >= 30)) {

				if (r >= 50) {
					gradingResult.add("C");
				} else {
					gradingResult.add("D");
				}
			} else if ((m + f) < 30) {
				gradingResult.add("F");
			} ((m + f) < 50) && ((m + f) >= 30) ((m + f) < 50) (m + f) m f 50 ((m + f) >= 30) (m + f) m f 30 {

				if (r >= 50) {
					gradingResult.add("C");
				} else {
					gradingResult.add("D");
				}
			} if (r >= 50) {
					gradingResult.add("C");
				} else {
					gradingResult.add("D");
				} r >= 50 r 50 {
					gradingResult.add("C");
				} gradingResult.add("C") gradingResult.add gradingResult "C" {
					gradingResult.add("D");
				} gradingResult.add("D") gradingResult.add gradingResult "D" if ((m + f) < 30) {
				gradingResult.add("F");
			} (m + f) < 30 (m + f) m f 30 {
				gradingResult.add("F");
			} gradingResult.add("F") gradingResult.add gradingResult "F" for (int i = 0; i < gradingResult.size(); i++) {
			System.out.println(gradingResult.get(i));
		} int i = 0; int i = 0; i 0 i < gradingResult.size() i gradingResult.size() gradingResult.size gradingResult i++ i++ i {
			System.out.println(gradingResult.get(i));
		} {
			System.out.println(gradingResult.get(i));
		} System.out.println(gradingResult.get(i)) System.out.println System.out System System.out gradingResult.get(i) gradingResult.get gradingResult i String[] args args public class Main{

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		List<String> gradingResult = new ArrayList<>();
		while (true) {
			int m = s.nextInt();
			int f = s.nextInt();
			int r = s.nextInt();
			s.nextLine();
			if (m == -1 && f == -1 && r == -1) {
				break;
			}
			if ((m == -1 || f == -1)) {
				gradingResult.add("F");
			} else if ((m + f) >= 80) {
				gradingResult.add("A");
			} else if (((m + f) < 80) && ((m + f) >= 65)) {
				gradingResult.add("B");
			} else if (((m + f) < 65) && ((m + f) >= 50)) {
				gradingResult.add("C");
			} else if (((m + f) < 50) && ((m + f) >= 30)) {

				if (r >= 50) {
					gradingResult.add("C");
				} else {
					gradingResult.add("D");
				}
			} else if ((m + f) < 30) {
				gradingResult.add("F");
			}

		}
		for (int i = 0; i < gradingResult.size(); i++) {
			System.out.println(gradingResult.get(i));
		}
	}

} public class Main{

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		List<String> gradingResult = new ArrayList<>();
		while (true) {
			int m = s.nextInt();
			int f = s.nextInt();
			int r = s.nextInt();
			s.nextLine();
			if (m == -1 && f == -1 && r == -1) {
				break;
			}
			if ((m == -1 || f == -1)) {
				gradingResult.add("F");
			} else if ((m + f) >= 80) {
				gradingResult.add("A");
			} else if (((m + f) < 80) && ((m + f) >= 65)) {
				gradingResult.add("B");
			} else if (((m + f) < 65) && ((m + f) >= 50)) {
				gradingResult.add("C");
			} else if (((m + f) < 50) && ((m + f) >= 30)) {

				if (r >= 50) {
					gradingResult.add("C");
				} else {
					gradingResult.add("D");
				}
			} else if ((m + f) < 30) {
				gradingResult.add("F");
			}

		}
		for (int i = 0; i < gradingResult.size(); i++) {
			System.out.println(gradingResult.get(i));
		}
	}

} Main
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main{

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		List<String> gradingResult = new ArrayList<>();
		while (true) {
			int m = s.nextInt();
			int f = s.nextInt();
			int r = s.nextInt();
			s.nextLine();
			if (m == -1 && f == -1 && r == -1) {
				break;
			}
			if ((m == -1 || f == -1)) {
				gradingResult.add("F");
			} else if ((m + f) >= 80) {
				gradingResult.add("A");
			} else if (((m + f) < 80) && ((m + f) >= 65)) {
				gradingResult.add("B");
			} else if (((m + f) < 65) && ((m + f) >= 50)) {
				gradingResult.add("C");
			} else if (((m + f) < 50) && ((m + f) >= 30)) {

				if (r >= 50) {
					gradingResult.add("C");
				} else {
					gradingResult.add("D");
				}
			} else if ((m + f) < 30) {
				gradingResult.add("F");
			}

		}
		for (int i = 0; i < gradingResult.size(); i++) {
			System.out.println(gradingResult.get(i));
		}
	}

}