
import java.util.*;

class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int []t = new int[3];
for(;;){
	String rank ="A";
	for(int i=0; i<3; i++) t[i] =sc.nextInt();
	if(t[0]==-1 && t[1]==-1 && t[2]==-1) break;

	if((t[0]+t[1])>=65 && (t[0]+t[1])<80) rank ="B";
	if((t[0]+t[1])>=50 && (t[0]+t[1])<65) rank ="C";
	if((t[0]+t[1])>=30 && (t[0]+t[1])<50){
		if(t[2]<50) rank ="D";
		if(t[2]>=50)rank ="C";
	}
	if(t[0]== -1 || t[1]== -1 ) rank ="F";
	if(t[0]+t[1]<30) rank ="F";
	System.out.println(rank);
}
}
} import java.util.*; util.* java class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int []t = new int[3];
for(;;){
	String rank ="A";
	for(int i=0; i<3; i++) t[i] =sc.nextInt();
	if(t[0]==-1 && t[1]==-1 && t[2]==-1) break;

	if((t[0]+t[1])>=65 && (t[0]+t[1])<80) rank ="B";
	if((t[0]+t[1])>=50 && (t[0]+t[1])<65) rank ="C";
	if((t[0]+t[1])>=30 && (t[0]+t[1])<50){
		if(t[2]<50) rank ="D";
		if(t[2]>=50)rank ="C";
	}
	if(t[0]== -1 || t[1]== -1 ) rank ="F";
	if(t[0]+t[1]<30) rank ="F";
	System.out.println(rank);
}
}
} Main public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int []t = new int[3];
for(;;){
	String rank ="A";
	for(int i=0; i<3; i++) t[i] =sc.nextInt();
	if(t[0]==-1 && t[1]==-1 && t[2]==-1) break;

	if((t[0]+t[1])>=65 && (t[0]+t[1])<80) rank ="B";
	if((t[0]+t[1])>=50 && (t[0]+t[1])<65) rank ="C";
	if((t[0]+t[1])>=30 && (t[0]+t[1])<50){
		if(t[2]<50) rank ="D";
		if(t[2]>=50)rank ="C";
	}
	if(t[0]== -1 || t[1]== -1 ) rank ="F";
	if(t[0]+t[1]<30) rank ="F";
	System.out.println(rank);
}
} main {
Scanner sc = new Scanner(System.in);
int []t = new int[3];
for(;;){
	String rank ="A";
	for(int i=0; i<3; i++) t[i] =sc.nextInt();
	if(t[0]==-1 && t[1]==-1 && t[2]==-1) break;

	if((t[0]+t[1])>=65 && (t[0]+t[1])<80) rank ="B";
	if((t[0]+t[1])>=50 && (t[0]+t[1])<65) rank ="C";
	if((t[0]+t[1])>=30 && (t[0]+t[1])<50){
		if(t[2]<50) rank ="D";
		if(t[2]>=50)rank ="C";
	}
	if(t[0]== -1 || t[1]== -1 ) rank ="F";
	if(t[0]+t[1]<30) rank ="F";
	System.out.println(rank);
}
} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int []t = new int[3]; t new int[3] 3 for(;;){
	String rank ="A";
	for(int i=0; i<3; i++) t[i] =sc.nextInt();
	if(t[0]==-1 && t[1]==-1 && t[2]==-1) break;

	if((t[0]+t[1])>=65 && (t[0]+t[1])<80) rank ="B";
	if((t[0]+t[1])>=50 && (t[0]+t[1])<65) rank ="C";
	if((t[0]+t[1])>=30 && (t[0]+t[1])<50){
		if(t[2]<50) rank ="D";
		if(t[2]>=50)rank ="C";
	}
	if(t[0]== -1 || t[1]== -1 ) rank ="F";
	if(t[0]+t[1]<30) rank ="F";
	System.out.println(rank);
} ; {
	String rank ="A";
	for(int i=0; i<3; i++) t[i] =sc.nextInt();
	if(t[0]==-1 && t[1]==-1 && t[2]==-1) break;

	if((t[0]+t[1])>=65 && (t[0]+t[1])<80) rank ="B";
	if((t[0]+t[1])>=50 && (t[0]+t[1])<65) rank ="C";
	if((t[0]+t[1])>=30 && (t[0]+t[1])<50){
		if(t[2]<50) rank ="D";
		if(t[2]>=50)rank ="C";
	}
	if(t[0]== -1 || t[1]== -1 ) rank ="F";
	if(t[0]+t[1]<30) rank ="F";
	System.out.println(rank);
} {
	String rank ="A";
	for(int i=0; i<3; i++) t[i] =sc.nextInt();
	if(t[0]==-1 && t[1]==-1 && t[2]==-1) break;

	if((t[0]+t[1])>=65 && (t[0]+t[1])<80) rank ="B";
	if((t[0]+t[1])>=50 && (t[0]+t[1])<65) rank ="C";
	if((t[0]+t[1])>=30 && (t[0]+t[1])<50){
		if(t[2]<50) rank ="D";
		if(t[2]>=50)rank ="C";
	}
	if(t[0]== -1 || t[1]== -1 ) rank ="F";
	if(t[0]+t[1]<30) rank ="F";
	System.out.println(rank);
} String rank ="A"; rank "A" for(int i=0; i<3; i++) t[i] =sc.nextInt(); int i=0; int i=0; i 0 i<3 i 3 i++ i++ i t[i] =sc.nextInt(); t[i] =sc.nextInt() t[i] t i sc.nextInt() sc.nextInt sc if(t[0]==-1 && t[1]==-1 && t[2]==-1) break; t[0]==-1 && t[1]==-1 && t[2]==-1 t[0]==-1 && t[1]==-1 && t[2]==-1 t[0]==-1 t[0] t 0 -1 1 t[1]==-1 t[1] t 1 -1 1 t[2]==-1 t[2] t 2 -1 1 break; if((t[0]+t[1])>=65 && (t[0]+t[1])<80) rank ="B"; (t[0]+t[1])>=65 && (t[0]+t[1])<80 (t[0]+t[1])>=65 (t[0]+t[1]) t[0] t 0 t[1] t 1 65 (t[0]+t[1])<80 (t[0]+t[1]) t[0] t 0 t[1] t 1 80 rank ="B" rank "B" if((t[0]+t[1])>=50 && (t[0]+t[1])<65) rank ="C"; (t[0]+t[1])>=50 && (t[0]+t[1])<65 (t[0]+t[1])>=50 (t[0]+t[1]) t[0] t 0 t[1] t 1 50 (t[0]+t[1])<65 (t[0]+t[1]) t[0] t 0 t[1] t 1 65 rank ="C" rank "C" if((t[0]+t[1])>=30 && (t[0]+t[1])<50){
		if(t[2]<50) rank ="D";
		if(t[2]>=50)rank ="C";
	} (t[0]+t[1])>=30 && (t[0]+t[1])<50 (t[0]+t[1])>=30 (t[0]+t[1]) t[0] t 0 t[1] t 1 30 (t[0]+t[1])<50 (t[0]+t[1]) t[0] t 0 t[1] t 1 50 {
		if(t[2]<50) rank ="D";
		if(t[2]>=50)rank ="C";
	} if(t[2]<50) rank ="D"; t[2]<50 t[2] t 2 50 rank ="D" rank "D" if(t[2]>=50)rank ="C"; t[2]>=50 t[2] t 2 50 rank ="C" rank "C" if(t[0]== -1 || t[1]== -1 ) rank ="F"; t[0]== -1 || t[1]== -1 t[0]== -1 t[0] t 0 -1 1 t[1]== -1 t[1] t 1 -1 1 rank ="F" rank "F" if(t[0]+t[1]<30) rank ="F"; t[0]+t[1]<30 t[0]+t[1] t[0] t 0 t[1] t 1 30 rank ="F" rank "F" System.out.println(rank) System.out.println System.out System System.out rank String[] args args

import java.util.*;

class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int []t = new int[3];
for(;;){
	String rank ="A";
	for(int i=0; i<3; i++) t[i] =sc.nextInt();
	if(t[0]==-1 && t[1]==-1 && t[2]==-1) break;

	if((t[0]+t[1])>=65 && (t[0]+t[1])<80) rank ="B";
	if((t[0]+t[1])>=50 && (t[0]+t[1])<65) rank ="C";
	if((t[0]+t[1])>=30 && (t[0]+t[1])<50){
		if(t[2]<50) rank ="D";
		if(t[2]>=50)rank ="C";
	}
	if(t[0]== -1 || t[1]== -1 ) rank ="F";
	if(t[0]+t[1]<30) rank ="F";
	System.out.println(rank);
}
}
}