import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String str = br.readLine();
		Boolean isnotEnd = true;
		while (isnotEnd) {
			String[] datasetstr = str.split(" ", 3);
			int m = Integer.parseInt(datasetstr[0]);
			int f = Integer.parseInt(datasetstr[1]);
			int r = Integer.parseInt(datasetstr[2]);
			if (m == -1 && f == -1 && r == -1) {
				isnotEnd = false;
			} else if (m == -1 || f == -1) {
				System.out.println("F");
			} else if (m + f >= 80) {
				System.out.println("A");
			} else if (m + f >= 65) {
				System.out.println("B");
			} else if (m + f >= 50) {
				System.out.println("C");
			} else if (m + f >= 30) {
				if (r >= 50) {
					System.out.println("C");
				} else {
					System.out.println("D");
				}
			} else {
				System.out.println("F");
			}
			str = br.readLine();
		}
	}
} import java.io.BufferedReader; BufferedReader java.io import java.io.IOException; IOException java.io import java.io.InputStreamReader; InputStreamReader java.io public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String str = br.readLine();
		Boolean isnotEnd = true;
		while (isnotEnd) {
			String[] datasetstr = str.split(" ", 3);
			int m = Integer.parseInt(datasetstr[0]);
			int f = Integer.parseInt(datasetstr[1]);
			int r = Integer.parseInt(datasetstr[2]);
			if (m == -1 && f == -1 && r == -1) {
				isnotEnd = false;
			} else if (m == -1 || f == -1) {
				System.out.println("F");
			} else if (m + f >= 80) {
				System.out.println("A");
			} else if (m + f >= 65) {
				System.out.println("B");
			} else if (m + f >= 50) {
				System.out.println("C");
			} else if (m + f >= 30) {
				if (r >= 50) {
					System.out.println("C");
				} else {
					System.out.println("D");
				}
			} else {
				System.out.println("F");
			}
			str = br.readLine();
		}
	}
} Main public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String str = br.readLine();
		Boolean isnotEnd = true;
		while (isnotEnd) {
			String[] datasetstr = str.split(" ", 3);
			int m = Integer.parseInt(datasetstr[0]);
			int f = Integer.parseInt(datasetstr[1]);
			int r = Integer.parseInt(datasetstr[2]);
			if (m == -1 && f == -1 && r == -1) {
				isnotEnd = false;
			} else if (m == -1 || f == -1) {
				System.out.println("F");
			} else if (m + f >= 80) {
				System.out.println("A");
			} else if (m + f >= 65) {
				System.out.println("B");
			} else if (m + f >= 50) {
				System.out.println("C");
			} else if (m + f >= 30) {
				if (r >= 50) {
					System.out.println("C");
				} else {
					System.out.println("D");
				}
			} else {
				System.out.println("F");
			}
			str = br.readLine();
		}
	} main {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String str = br.readLine();
		Boolean isnotEnd = true;
		while (isnotEnd) {
			String[] datasetstr = str.split(" ", 3);
			int m = Integer.parseInt(datasetstr[0]);
			int f = Integer.parseInt(datasetstr[1]);
			int r = Integer.parseInt(datasetstr[2]);
			if (m == -1 && f == -1 && r == -1) {
				isnotEnd = false;
			} else if (m == -1 || f == -1) {
				System.out.println("F");
			} else if (m + f >= 80) {
				System.out.println("A");
			} else if (m + f >= 65) {
				System.out.println("B");
			} else if (m + f >= 50) {
				System.out.println("C");
			} else if (m + f >= 30) {
				if (r >= 50) {
					System.out.println("C");
				} else {
					System.out.println("D");
				}
			} else {
				System.out.println("F");
			}
			str = br.readLine();
		}
	} BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); br new BufferedReader(new InputStreamReader(System.in)) String str = br.readLine(); str br.readLine() br.readLine br Boolean isnotEnd = true; isnotEnd true while (isnotEnd) {
			String[] datasetstr = str.split(" ", 3);
			int m = Integer.parseInt(datasetstr[0]);
			int f = Integer.parseInt(datasetstr[1]);
			int r = Integer.parseInt(datasetstr[2]);
			if (m == -1 && f == -1 && r == -1) {
				isnotEnd = false;
			} else if (m == -1 || f == -1) {
				System.out.println("F");
			} else if (m + f >= 80) {
				System.out.println("A");
			} else if (m + f >= 65) {
				System.out.println("B");
			} else if (m + f >= 50) {
				System.out.println("C");
			} else if (m + f >= 30) {
				if (r >= 50) {
					System.out.println("C");
				} else {
					System.out.println("D");
				}
			} else {
				System.out.println("F");
			}
			str = br.readLine();
		} isnotEnd {
			String[] datasetstr = str.split(" ", 3);
			int m = Integer.parseInt(datasetstr[0]);
			int f = Integer.parseInt(datasetstr[1]);
			int r = Integer.parseInt(datasetstr[2]);
			if (m == -1 && f == -1 && r == -1) {
				isnotEnd = false;
			} else if (m == -1 || f == -1) {
				System.out.println("F");
			} else if (m + f >= 80) {
				System.out.println("A");
			} else if (m + f >= 65) {
				System.out.println("B");
			} else if (m + f >= 50) {
				System.out.println("C");
			} else if (m + f >= 30) {
				if (r >= 50) {
					System.out.println("C");
				} else {
					System.out.println("D");
				}
			} else {
				System.out.println("F");
			}
			str = br.readLine();
		} String[] datasetstr = str.split(" ", 3); datasetstr str.split(" ", 3) str.split str " " 3 int m = Integer.parseInt(datasetstr[0]); m Integer.parseInt(datasetstr[0]) Integer.parseInt Integer datasetstr[0] datasetstr 0 int f = Integer.parseInt(datasetstr[1]); f Integer.parseInt(datasetstr[1]) Integer.parseInt Integer datasetstr[1] datasetstr 1 int r = Integer.parseInt(datasetstr[2]); r Integer.parseInt(datasetstr[2]) Integer.parseInt Integer datasetstr[2] datasetstr 2 if (m == -1 && f == -1 && r == -1) {
				isnotEnd = false;
			} else if (m == -1 || f == -1) {
				System.out.println("F");
			} else if (m + f >= 80) {
				System.out.println("A");
			} else if (m + f >= 65) {
				System.out.println("B");
			} else if (m + f >= 50) {
				System.out.println("C");
			} else if (m + f >= 30) {
				if (r >= 50) {
					System.out.println("C");
				} else {
					System.out.println("D");
				}
			} else {
				System.out.println("F");
			} 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 {
				isnotEnd = false;
			} isnotEnd = false isnotEnd false if (m == -1 || f == -1) {
				System.out.println("F");
			} else if (m + f >= 80) {
				System.out.println("A");
			} else if (m + f >= 65) {
				System.out.println("B");
			} else if (m + f >= 50) {
				System.out.println("C");
			} else if (m + f >= 30) {
				if (r >= 50) {
					System.out.println("C");
				} else {
					System.out.println("D");
				}
			} else {
				System.out.println("F");
			} m == -1 || f == -1 m == -1 m -1 1 f == -1 f -1 1 {
				System.out.println("F");
			} System.out.println("F") System.out.println System.out System System.out "F" if (m + f >= 80) {
				System.out.println("A");
			} else if (m + f >= 65) {
				System.out.println("B");
			} else if (m + f >= 50) {
				System.out.println("C");
			} else if (m + f >= 30) {
				if (r >= 50) {
					System.out.println("C");
				} else {
					System.out.println("D");
				}
			} else {
				System.out.println("F");
			} m + f >= 80 m + f m f 80 {
				System.out.println("A");
			} System.out.println("A") System.out.println System.out System System.out "A" if (m + f >= 65) {
				System.out.println("B");
			} else if (m + f >= 50) {
				System.out.println("C");
			} else if (m + f >= 30) {
				if (r >= 50) {
					System.out.println("C");
				} else {
					System.out.println("D");
				}
			} else {
				System.out.println("F");
			} m + f >= 65 m + f m f 65 {
				System.out.println("B");
			} System.out.println("B") System.out.println System.out System System.out "B" if (m + f >= 50) {
				System.out.println("C");
			} else if (m + f >= 30) {
				if (r >= 50) {
					System.out.println("C");
				} else {
					System.out.println("D");
				}
			} else {
				System.out.println("F");
			} m + f >= 50 m + f m f 50 {
				System.out.println("C");
			} System.out.println("C") System.out.println System.out System System.out "C" if (m + f >= 30) {
				if (r >= 50) {
					System.out.println("C");
				} else {
					System.out.println("D");
				}
			} else {
				System.out.println("F");
			} m + f >= 30 m + f m f 30 {
				if (r >= 50) {
					System.out.println("C");
				} else {
					System.out.println("D");
				}
			} if (r >= 50) {
					System.out.println("C");
				} else {
					System.out.println("D");
				} r >= 50 r 50 {
					System.out.println("C");
				} System.out.println("C") System.out.println System.out System System.out "C" {
					System.out.println("D");
				} System.out.println("D") System.out.println System.out System System.out "D" {
				System.out.println("F");
			} System.out.println("F") System.out.println System.out System System.out "F" str = br.readLine() str br.readLine() br.readLine br String[] args args public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String str = br.readLine();
		Boolean isnotEnd = true;
		while (isnotEnd) {
			String[] datasetstr = str.split(" ", 3);
			int m = Integer.parseInt(datasetstr[0]);
			int f = Integer.parseInt(datasetstr[1]);
			int r = Integer.parseInt(datasetstr[2]);
			if (m == -1 && f == -1 && r == -1) {
				isnotEnd = false;
			} else if (m == -1 || f == -1) {
				System.out.println("F");
			} else if (m + f >= 80) {
				System.out.println("A");
			} else if (m + f >= 65) {
				System.out.println("B");
			} else if (m + f >= 50) {
				System.out.println("C");
			} else if (m + f >= 30) {
				if (r >= 50) {
					System.out.println("C");
				} else {
					System.out.println("D");
				}
			} else {
				System.out.println("F");
			}
			str = br.readLine();
		}
	}
} public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String str = br.readLine();
		Boolean isnotEnd = true;
		while (isnotEnd) {
			String[] datasetstr = str.split(" ", 3);
			int m = Integer.parseInt(datasetstr[0]);
			int f = Integer.parseInt(datasetstr[1]);
			int r = Integer.parseInt(datasetstr[2]);
			if (m == -1 && f == -1 && r == -1) {
				isnotEnd = false;
			} else if (m == -1 || f == -1) {
				System.out.println("F");
			} else if (m + f >= 80) {
				System.out.println("A");
			} else if (m + f >= 65) {
				System.out.println("B");
			} else if (m + f >= 50) {
				System.out.println("C");
			} else if (m + f >= 30) {
				if (r >= 50) {
					System.out.println("C");
				} else {
					System.out.println("D");
				}
			} else {
				System.out.println("F");
			}
			str = br.readLine();
		}
	}
} Main
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String str = br.readLine();
		Boolean isnotEnd = true;
		while (isnotEnd) {
			String[] datasetstr = str.split(" ", 3);
			int m = Integer.parseInt(datasetstr[0]);
			int f = Integer.parseInt(datasetstr[1]);
			int r = Integer.parseInt(datasetstr[2]);
			if (m == -1 && f == -1 && r == -1) {
				isnotEnd = false;
			} else if (m == -1 || f == -1) {
				System.out.println("F");
			} else if (m + f >= 80) {
				System.out.println("A");
			} else if (m + f >= 65) {
				System.out.println("B");
			} else if (m + f >= 50) {
				System.out.println("C");
			} else if (m + f >= 30) {
				if (r >= 50) {
					System.out.println("C");
				} else {
					System.out.println("D");
				}
			} else {
				System.out.println("F");
			}
			str = br.readLine();
		}
	}
}