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

public class Main {
	public static void main(String[] args)throws Exception{
		InputStreamReader isr = new InputStreamReader(System.in);
        BufferedReader br = new BufferedReader(isr);
        
        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))
            	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 if ((m + f) < 30)
                	System.out.println("F");
            }
            
        }
        
		
	}

}
/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