import java.io.*;

class Main{
	public static void main(String args[]) throws IOException{
		BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
		String[] str;
		int m,f,r;

		while(true){
			str = buf.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 == -1 || f == -1 || (m+f)<30)
				sb.append("F"+"\n");
			else{
				if(m+f >= 80)
					sb.append("A" + "\n");
				if(m+f>=65 && m+f <80)
					sb.append("B" + "\n");
				if(m+f>=50 && m+f<65)
					sb.append("C" + "\n");
				if(m+f>=30 && m+f<50){
					if(r >= 50)
						sb.append("C" + "\n");
					else 
						sb.append("D"+"\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