import java.io.*;

public class Main {
	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder output = new StringBuilder();

		int m ;
		int f ;
		int r ;
		String[] str ;//m,f,r???????????????????????????????????????str????????????????????????
		
		
		while(true) {
	 //??\???????????????????????????		
			 str = br.readLine().split(" ");
			 m = Integer.parseInt(str[0]);
			 f = Integer.parseInt(str[1]);
			 r = Integer.parseInt(str[2]);
	        if(m == -1 & f == -1 & r ==  -1)  break;
	        
	 //?????????????´¢?????????????????????       
	        if(m <= 50 | f <= 50 |r <= 100) {
	        	
		    	 if(m == -1 | f == -1) output.append("F\n");  //1????¨????????????????????????´???
		    	 
		    	 else if((m+f) >= 80) {         
		    		 output.append("A\n");
		    	 }
		    	 else if((m+f) >= 65) {
		    		 output.append("B\n");
		    	 }
		    	 else if((m+f) >= 50) {
		    		 output.append("C\n");
		    	 }
		    	 else if((m+f) >= 30 | r >= 50) {
		    		 if(r >= 50 ) {
		    			 output.append("C\n");
		    		 }else {
		    		     output.append("D\n");
		    		 }
		    	 }
		    	 else {
		    		 output.append("F\n");
		    	 }
		      }
	        
	     }

        System.out.print(output);

	br.close();
			
	}
}
/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