import java.util.*;

public class Main {
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		LinkedList<Integer> pit = new LinkedList<>();
		LinkedList<String> pfm = new LinkedList<>();

		int m = 0;
		int f = 0;
		int r = 0;
		
		//???????????\???
		int cnt = 0;
		while(m != -1 || f != -1 || r != -1) {
			m = sc.nextInt();
			f = sc.nextInt();
			r = sc.nextInt();
			if(m == -1 && f == -1 && r == -1) {
				break;
			} else {
				pit.add(m);
				pit.add(f);
				pit.add(r);
				cnt+=3;
			}
		}
		
		int k = 0;
		for(int i = 2; i < cnt; i+=3) {
			if(pit.get(i-2) == -1 || pit.get(i-1) == -1) {
				pfm.add("F");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 80) {
				pfm.add("A");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 65) {
				pfm.add("B");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 50) {
				pfm.add("C");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 30) {
				if(pit.get(i) >= 50) {
					pfm.add("C");
					k++;
				} else {
					pfm.add("D");
					k++;
				}
			} else if(pit.get(i-2) + pit.get(i-1) < 30) {
				pfm.add("F");
				k++;
			}
		}
		
		for(int i = 0; i < k; i++) {
			System.out.println(pfm.get(i));
		}
	}
} import java.util.*; util.* java public class Main {
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		LinkedList<Integer> pit = new LinkedList<>();
		LinkedList<String> pfm = new LinkedList<>();

		int m = 0;
		int f = 0;
		int r = 0;
		
		//???????????\???
		int cnt = 0;
		while(m != -1 || f != -1 || r != -1) {
			m = sc.nextInt();
			f = sc.nextInt();
			r = sc.nextInt();
			if(m == -1 && f == -1 && r == -1) {
				break;
			} else {
				pit.add(m);
				pit.add(f);
				pit.add(r);
				cnt+=3;
			}
		}
		
		int k = 0;
		for(int i = 2; i < cnt; i+=3) {
			if(pit.get(i-2) == -1 || pit.get(i-1) == -1) {
				pfm.add("F");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 80) {
				pfm.add("A");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 65) {
				pfm.add("B");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 50) {
				pfm.add("C");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 30) {
				if(pit.get(i) >= 50) {
					pfm.add("C");
					k++;
				} else {
					pfm.add("D");
					k++;
				}
			} else if(pit.get(i-2) + pit.get(i-1) < 30) {
				pfm.add("F");
				k++;
			}
		}
		
		for(int i = 0; i < k; i++) {
			System.out.println(pfm.get(i));
		}
	}
} Main public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		LinkedList<Integer> pit = new LinkedList<>();
		LinkedList<String> pfm = new LinkedList<>();

		int m = 0;
		int f = 0;
		int r = 0;
		
		//???????????\???
		int cnt = 0;
		while(m != -1 || f != -1 || r != -1) {
			m = sc.nextInt();
			f = sc.nextInt();
			r = sc.nextInt();
			if(m == -1 && f == -1 && r == -1) {
				break;
			} else {
				pit.add(m);
				pit.add(f);
				pit.add(r);
				cnt+=3;
			}
		}
		
		int k = 0;
		for(int i = 2; i < cnt; i+=3) {
			if(pit.get(i-2) == -1 || pit.get(i-1) == -1) {
				pfm.add("F");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 80) {
				pfm.add("A");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 65) {
				pfm.add("B");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 50) {
				pfm.add("C");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 30) {
				if(pit.get(i) >= 50) {
					pfm.add("C");
					k++;
				} else {
					pfm.add("D");
					k++;
				}
			} else if(pit.get(i-2) + pit.get(i-1) < 30) {
				pfm.add("F");
				k++;
			}
		}
		
		for(int i = 0; i < k; i++) {
			System.out.println(pfm.get(i));
		}
	} main {
		
		Scanner sc = new Scanner(System.in);
		LinkedList<Integer> pit = new LinkedList<>();
		LinkedList<String> pfm = new LinkedList<>();

		int m = 0;
		int f = 0;
		int r = 0;
		
		//???????????\???
		int cnt = 0;
		while(m != -1 || f != -1 || r != -1) {
			m = sc.nextInt();
			f = sc.nextInt();
			r = sc.nextInt();
			if(m == -1 && f == -1 && r == -1) {
				break;
			} else {
				pit.add(m);
				pit.add(f);
				pit.add(r);
				cnt+=3;
			}
		}
		
		int k = 0;
		for(int i = 2; i < cnt; i+=3) {
			if(pit.get(i-2) == -1 || pit.get(i-1) == -1) {
				pfm.add("F");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 80) {
				pfm.add("A");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 65) {
				pfm.add("B");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 50) {
				pfm.add("C");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 30) {
				if(pit.get(i) >= 50) {
					pfm.add("C");
					k++;
				} else {
					pfm.add("D");
					k++;
				}
			} else if(pit.get(i-2) + pit.get(i-1) < 30) {
				pfm.add("F");
				k++;
			}
		}
		
		for(int i = 0; i < k; i++) {
			System.out.println(pfm.get(i));
		}
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) LinkedList<Integer> pit = new LinkedList<>(); pit new LinkedList<>() LinkedList<String> pfm = new LinkedList<>(); pfm new LinkedList<>() int m = 0; m 0 int f = 0; f 0 int r = 0; r 0 int cnt = 0; cnt 0 while(m != -1 || f != -1 || r != -1) {
			m = sc.nextInt();
			f = sc.nextInt();
			r = sc.nextInt();
			if(m == -1 && f == -1 && r == -1) {
				break;
			} else {
				pit.add(m);
				pit.add(f);
				pit.add(r);
				cnt+=3;
			}
		} 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 {
			m = sc.nextInt();
			f = sc.nextInt();
			r = sc.nextInt();
			if(m == -1 && f == -1 && r == -1) {
				break;
			} else {
				pit.add(m);
				pit.add(f);
				pit.add(r);
				cnt+=3;
			}
		} m = sc.nextInt() m sc.nextInt() sc.nextInt sc f = sc.nextInt() f sc.nextInt() sc.nextInt sc r = sc.nextInt() r sc.nextInt() sc.nextInt sc if(m == -1 && f == -1 && r == -1) {
				break;
			} else {
				pit.add(m);
				pit.add(f);
				pit.add(r);
				cnt+=3;
			} 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; {
				pit.add(m);
				pit.add(f);
				pit.add(r);
				cnt+=3;
			} pit.add(m) pit.add pit m pit.add(f) pit.add pit f pit.add(r) pit.add pit r cnt+=3 cnt 3 int k = 0; k 0 for(int i = 2; i < cnt; i+=3) {
			if(pit.get(i-2) == -1 || pit.get(i-1) == -1) {
				pfm.add("F");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 80) {
				pfm.add("A");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 65) {
				pfm.add("B");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 50) {
				pfm.add("C");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 30) {
				if(pit.get(i) >= 50) {
					pfm.add("C");
					k++;
				} else {
					pfm.add("D");
					k++;
				}
			} else if(pit.get(i-2) + pit.get(i-1) < 30) {
				pfm.add("F");
				k++;
			}
		} int i = 2; int i = 2; i 2 i < cnt i cnt i+=3 i+=3 i 3 {
			if(pit.get(i-2) == -1 || pit.get(i-1) == -1) {
				pfm.add("F");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 80) {
				pfm.add("A");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 65) {
				pfm.add("B");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 50) {
				pfm.add("C");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 30) {
				if(pit.get(i) >= 50) {
					pfm.add("C");
					k++;
				} else {
					pfm.add("D");
					k++;
				}
			} else if(pit.get(i-2) + pit.get(i-1) < 30) {
				pfm.add("F");
				k++;
			}
		} {
			if(pit.get(i-2) == -1 || pit.get(i-1) == -1) {
				pfm.add("F");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 80) {
				pfm.add("A");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 65) {
				pfm.add("B");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 50) {
				pfm.add("C");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 30) {
				if(pit.get(i) >= 50) {
					pfm.add("C");
					k++;
				} else {
					pfm.add("D");
					k++;
				}
			} else if(pit.get(i-2) + pit.get(i-1) < 30) {
				pfm.add("F");
				k++;
			}
		} if(pit.get(i-2) == -1 || pit.get(i-1) == -1) {
				pfm.add("F");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 80) {
				pfm.add("A");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 65) {
				pfm.add("B");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 50) {
				pfm.add("C");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 30) {
				if(pit.get(i) >= 50) {
					pfm.add("C");
					k++;
				} else {
					pfm.add("D");
					k++;
				}
			} else if(pit.get(i-2) + pit.get(i-1) < 30) {
				pfm.add("F");
				k++;
			} pit.get(i-2) == -1 || pit.get(i-1) == -1 pit.get(i-2) == -1 pit.get(i-2) pit.get pit i-2 i 2 -1 1 pit.get(i-1) == -1 pit.get(i-1) pit.get pit i-1 i 1 -1 1 {
				pfm.add("F");
				k++;
			} pfm.add("F") pfm.add pfm "F" k++ k if(pit.get(i-2) + pit.get(i-1) >= 80) {
				pfm.add("A");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 65) {
				pfm.add("B");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 50) {
				pfm.add("C");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 30) {
				if(pit.get(i) >= 50) {
					pfm.add("C");
					k++;
				} else {
					pfm.add("D");
					k++;
				}
			} else if(pit.get(i-2) + pit.get(i-1) < 30) {
				pfm.add("F");
				k++;
			} pit.get(i-2) + pit.get(i-1) >= 80 pit.get(i-2) + pit.get(i-1) pit.get(i-2) pit.get pit i-2 i 2 pit.get(i-1) pit.get pit i-1 i 1 80 {
				pfm.add("A");
				k++;
			} pfm.add("A") pfm.add pfm "A" k++ k if(pit.get(i-2) + pit.get(i-1) >= 65) {
				pfm.add("B");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 50) {
				pfm.add("C");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 30) {
				if(pit.get(i) >= 50) {
					pfm.add("C");
					k++;
				} else {
					pfm.add("D");
					k++;
				}
			} else if(pit.get(i-2) + pit.get(i-1) < 30) {
				pfm.add("F");
				k++;
			} pit.get(i-2) + pit.get(i-1) >= 65 pit.get(i-2) + pit.get(i-1) pit.get(i-2) pit.get pit i-2 i 2 pit.get(i-1) pit.get pit i-1 i 1 65 {
				pfm.add("B");
				k++;
			} pfm.add("B") pfm.add pfm "B" k++ k if(pit.get(i-2) + pit.get(i-1) >= 50) {
				pfm.add("C");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 30) {
				if(pit.get(i) >= 50) {
					pfm.add("C");
					k++;
				} else {
					pfm.add("D");
					k++;
				}
			} else if(pit.get(i-2) + pit.get(i-1) < 30) {
				pfm.add("F");
				k++;
			} pit.get(i-2) + pit.get(i-1) >= 50 pit.get(i-2) + pit.get(i-1) pit.get(i-2) pit.get pit i-2 i 2 pit.get(i-1) pit.get pit i-1 i 1 50 {
				pfm.add("C");
				k++;
			} pfm.add("C") pfm.add pfm "C" k++ k if(pit.get(i-2) + pit.get(i-1) >= 30) {
				if(pit.get(i) >= 50) {
					pfm.add("C");
					k++;
				} else {
					pfm.add("D");
					k++;
				}
			} else if(pit.get(i-2) + pit.get(i-1) < 30) {
				pfm.add("F");
				k++;
			} pit.get(i-2) + pit.get(i-1) >= 30 pit.get(i-2) + pit.get(i-1) pit.get(i-2) pit.get pit i-2 i 2 pit.get(i-1) pit.get pit i-1 i 1 30 {
				if(pit.get(i) >= 50) {
					pfm.add("C");
					k++;
				} else {
					pfm.add("D");
					k++;
				}
			} if(pit.get(i) >= 50) {
					pfm.add("C");
					k++;
				} else {
					pfm.add("D");
					k++;
				} pit.get(i) >= 50 pit.get(i) pit.get pit i 50 {
					pfm.add("C");
					k++;
				} pfm.add("C") pfm.add pfm "C" k++ k {
					pfm.add("D");
					k++;
				} pfm.add("D") pfm.add pfm "D" k++ k if(pit.get(i-2) + pit.get(i-1) < 30) {
				pfm.add("F");
				k++;
			} pit.get(i-2) + pit.get(i-1) < 30 pit.get(i-2) + pit.get(i-1) pit.get(i-2) pit.get pit i-2 i 2 pit.get(i-1) pit.get pit i-1 i 1 30 {
				pfm.add("F");
				k++;
			} pfm.add("F") pfm.add pfm "F" k++ k for(int i = 0; i < k; i++) {
			System.out.println(pfm.get(i));
		} int i = 0; int i = 0; i 0 i < k i k i++ i++ i {
			System.out.println(pfm.get(i));
		} {
			System.out.println(pfm.get(i));
		} System.out.println(pfm.get(i)) System.out.println System.out System System.out pfm.get(i) pfm.get pfm i String[] args args public class Main {
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		LinkedList<Integer> pit = new LinkedList<>();
		LinkedList<String> pfm = new LinkedList<>();

		int m = 0;
		int f = 0;
		int r = 0;
		
		//???????????\???
		int cnt = 0;
		while(m != -1 || f != -1 || r != -1) {
			m = sc.nextInt();
			f = sc.nextInt();
			r = sc.nextInt();
			if(m == -1 && f == -1 && r == -1) {
				break;
			} else {
				pit.add(m);
				pit.add(f);
				pit.add(r);
				cnt+=3;
			}
		}
		
		int k = 0;
		for(int i = 2; i < cnt; i+=3) {
			if(pit.get(i-2) == -1 || pit.get(i-1) == -1) {
				pfm.add("F");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 80) {
				pfm.add("A");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 65) {
				pfm.add("B");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 50) {
				pfm.add("C");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 30) {
				if(pit.get(i) >= 50) {
					pfm.add("C");
					k++;
				} else {
					pfm.add("D");
					k++;
				}
			} else if(pit.get(i-2) + pit.get(i-1) < 30) {
				pfm.add("F");
				k++;
			}
		}
		
		for(int i = 0; i < k; i++) {
			System.out.println(pfm.get(i));
		}
	}
} public class Main {
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		LinkedList<Integer> pit = new LinkedList<>();
		LinkedList<String> pfm = new LinkedList<>();

		int m = 0;
		int f = 0;
		int r = 0;
		
		//???????????\???
		int cnt = 0;
		while(m != -1 || f != -1 || r != -1) {
			m = sc.nextInt();
			f = sc.nextInt();
			r = sc.nextInt();
			if(m == -1 && f == -1 && r == -1) {
				break;
			} else {
				pit.add(m);
				pit.add(f);
				pit.add(r);
				cnt+=3;
			}
		}
		
		int k = 0;
		for(int i = 2; i < cnt; i+=3) {
			if(pit.get(i-2) == -1 || pit.get(i-1) == -1) {
				pfm.add("F");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 80) {
				pfm.add("A");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 65) {
				pfm.add("B");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 50) {
				pfm.add("C");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 30) {
				if(pit.get(i) >= 50) {
					pfm.add("C");
					k++;
				} else {
					pfm.add("D");
					k++;
				}
			} else if(pit.get(i-2) + pit.get(i-1) < 30) {
				pfm.add("F");
				k++;
			}
		}
		
		for(int i = 0; i < k; i++) {
			System.out.println(pfm.get(i));
		}
	}
} Main
import java.util.*;

public class Main {
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		LinkedList<Integer> pit = new LinkedList<>();
		LinkedList<String> pfm = new LinkedList<>();

		int m = 0;
		int f = 0;
		int r = 0;
		
		//???????????\???
		int cnt = 0;
		while(m != -1 || f != -1 || r != -1) {
			m = sc.nextInt();
			f = sc.nextInt();
			r = sc.nextInt();
			if(m == -1 && f == -1 && r == -1) {
				break;
			} else {
				pit.add(m);
				pit.add(f);
				pit.add(r);
				cnt+=3;
			}
		}
		
		int k = 0;
		for(int i = 2; i < cnt; i+=3) {
			if(pit.get(i-2) == -1 || pit.get(i-1) == -1) {
				pfm.add("F");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 80) {
				pfm.add("A");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 65) {
				pfm.add("B");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 50) {
				pfm.add("C");
				k++;
			} else if(pit.get(i-2) + pit.get(i-1) >= 30) {
				if(pit.get(i) >= 50) {
					pfm.add("C");
					k++;
				} else {
					pfm.add("D");
					k++;
				}
			} else if(pit.get(i-2) + pit.get(i-1) < 30) {
				pfm.add("F");
				k++;
			}
		}
		
		for(int i = 0; i < k; i++) {
			System.out.println(pfm.get(i));
		}
	}
}