import java.io.*;
class Main{
	public static void main(String[]args)throws IOException{
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
		
		while(true){
			String[] test=br.readLine().split(" ");
			int m=Integer.parseInt(test[0]);
			int f=Integer.parseInt(test[1]);
			int r=Integer.parseInt(test[2]);
			if(m==-1&&f==-1&&r==-1){
				break;
			}
			if(m==-1||f==-1){
				sb.append("F\n");
			}
			else if((m+f)>=80){
				sb.append("A\n");
			}
			else if((m+f)>=65&&(m+f)<80){
				sb.append("B\n");
			}
			else if((m+f)>=50&&(m+f)<65){
				sb.append("C\n");
			}
			else if((m+f)>=30&&(m+f)<50){
				if(r>=50){
					sb.append("C\n");
				}
				else{
					sb.append("D\n");
				}
			}
			else if((m+f)<30){
				sb.append("F\n");
			}
		}
		System.out.print(sb);
	}
}
/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz