import java.io.*;
import java.util.*;
import java.lang.*;

class Main{
  public static void main(String[] args) throws IOException{
    Scanner scan=new Scanner(System.in);

    while(true){
      int m=Integer.parseInt(scan.next());
      int f=Integer.parseInt(scan.next());
      int r=Integer.parseInt(scan.next());
      if(m==-1 && f==-1 && r==-1)break;
      if((m==-1 || f==-1) || (m+f)<30){
        System.out.println('F');
      }else if((m+f)>=30 && (m+f)<50){
        if(r>=50){
          System.out.println('C');
        }else{
          System.out.println('D');
        }
      }else if((m+f)>=50 && (m+f)<65){
        System.out.println('C');
      }else if((m+f)>=65 && (m+f)<80){
        System.out.println('B');
      }else{
        System.out.println('A');
      }
    }
  }
} import java.io.*; io.* java import java.util.*; util.* java import java.lang.*; lang.* java class Main{
  public static void main(String[] args) throws IOException{
    Scanner scan=new Scanner(System.in);

    while(true){
      int m=Integer.parseInt(scan.next());
      int f=Integer.parseInt(scan.next());
      int r=Integer.parseInt(scan.next());
      if(m==-1 && f==-1 && r==-1)break;
      if((m==-1 || f==-1) || (m+f)<30){
        System.out.println('F');
      }else if((m+f)>=30 && (m+f)<50){
        if(r>=50){
          System.out.println('C');
        }else{
          System.out.println('D');
        }
      }else if((m+f)>=50 && (m+f)<65){
        System.out.println('C');
      }else if((m+f)>=65 && (m+f)<80){
        System.out.println('B');
      }else{
        System.out.println('A');
      }
    }
  }
} Main public static void main(String[] args) throws IOException{
    Scanner scan=new Scanner(System.in);

    while(true){
      int m=Integer.parseInt(scan.next());
      int f=Integer.parseInt(scan.next());
      int r=Integer.parseInt(scan.next());
      if(m==-1 && f==-1 && r==-1)break;
      if((m==-1 || f==-1) || (m+f)<30){
        System.out.println('F');
      }else if((m+f)>=30 && (m+f)<50){
        if(r>=50){
          System.out.println('C');
        }else{
          System.out.println('D');
        }
      }else if((m+f)>=50 && (m+f)<65){
        System.out.println('C');
      }else if((m+f)>=65 && (m+f)<80){
        System.out.println('B');
      }else{
        System.out.println('A');
      }
    }
  } main {
    Scanner scan=new Scanner(System.in);

    while(true){
      int m=Integer.parseInt(scan.next());
      int f=Integer.parseInt(scan.next());
      int r=Integer.parseInt(scan.next());
      if(m==-1 && f==-1 && r==-1)break;
      if((m==-1 || f==-1) || (m+f)<30){
        System.out.println('F');
      }else if((m+f)>=30 && (m+f)<50){
        if(r>=50){
          System.out.println('C');
        }else{
          System.out.println('D');
        }
      }else if((m+f)>=50 && (m+f)<65){
        System.out.println('C');
      }else if((m+f)>=65 && (m+f)<80){
        System.out.println('B');
      }else{
        System.out.println('A');
      }
    }
  } Scanner scan=new Scanner(System.in); scan new Scanner(System.in) while(true){
      int m=Integer.parseInt(scan.next());
      int f=Integer.parseInt(scan.next());
      int r=Integer.parseInt(scan.next());
      if(m==-1 && f==-1 && r==-1)break;
      if((m==-1 || f==-1) || (m+f)<30){
        System.out.println('F');
      }else if((m+f)>=30 && (m+f)<50){
        if(r>=50){
          System.out.println('C');
        }else{
          System.out.println('D');
        }
      }else if((m+f)>=50 && (m+f)<65){
        System.out.println('C');
      }else if((m+f)>=65 && (m+f)<80){
        System.out.println('B');
      }else{
        System.out.println('A');
      }
    } true {
      int m=Integer.parseInt(scan.next());
      int f=Integer.parseInt(scan.next());
      int r=Integer.parseInt(scan.next());
      if(m==-1 && f==-1 && r==-1)break;
      if((m==-1 || f==-1) || (m+f)<30){
        System.out.println('F');
      }else if((m+f)>=30 && (m+f)<50){
        if(r>=50){
          System.out.println('C');
        }else{
          System.out.println('D');
        }
      }else if((m+f)>=50 && (m+f)<65){
        System.out.println('C');
      }else if((m+f)>=65 && (m+f)<80){
        System.out.println('B');
      }else{
        System.out.println('A');
      }
    } int m=Integer.parseInt(scan.next()); m Integer.parseInt(scan.next()) Integer.parseInt Integer scan.next() scan.next scan int f=Integer.parseInt(scan.next()); f Integer.parseInt(scan.next()) Integer.parseInt Integer scan.next() scan.next scan int r=Integer.parseInt(scan.next()); r Integer.parseInt(scan.next()) Integer.parseInt Integer scan.next() scan.next scan if(m==-1 && f==-1 && r==-1)break; m==-1 && f==-1 && r==-1 m==-1 && f==-1 && r==-1 m==-1 m -1 1 f==-1 f -1 1 r==-1 r -1 1 break; if((m==-1 || f==-1) || (m+f)<30){
        System.out.println('F');
      }else if((m+f)>=30 && (m+f)<50){
        if(r>=50){
          System.out.println('C');
        }else{
          System.out.println('D');
        }
      }else if((m+f)>=50 && (m+f)<65){
        System.out.println('C');
      }else if((m+f)>=65 && (m+f)<80){
        System.out.println('B');
      }else{
        System.out.println('A');
      } (m==-1 || f==-1) || (m+f)<30 (m==-1 || f==-1) m==-1 m -1 1 f==-1 f -1 1 (m+f)<30 (m+f) m f 30 {
        System.out.println('F');
      } System.out.println('F') System.out.println System.out System System.out 'F' if((m+f)>=30 && (m+f)<50){
        if(r>=50){
          System.out.println('C');
        }else{
          System.out.println('D');
        }
      }else if((m+f)>=50 && (m+f)<65){
        System.out.println('C');
      }else if((m+f)>=65 && (m+f)<80){
        System.out.println('B');
      }else{
        System.out.println('A');
      } (m+f)>=30 && (m+f)<50 (m+f)>=30 (m+f) m f 30 (m+f)<50 (m+f) m f 50 {
        if(r>=50){
          System.out.println('C');
        }else{
          System.out.println('D');
        }
      } if(r>=50){
          System.out.println('C');
        }else{
          System.out.println('D');
        } r>=50 r 50 {
          System.out.println('C');
        } System.out.println('C') System.out.println System.out System System.out 'C' {
          System.out.println('D');
        } System.out.println('D') System.out.println System.out System System.out 'D' if((m+f)>=50 && (m+f)<65){
        System.out.println('C');
      }else if((m+f)>=65 && (m+f)<80){
        System.out.println('B');
      }else{
        System.out.println('A');
      } (m+f)>=50 && (m+f)<65 (m+f)>=50 (m+f) m f 50 (m+f)<65 (m+f) m f 65 {
        System.out.println('C');
      } System.out.println('C') System.out.println System.out System System.out 'C' if((m+f)>=65 && (m+f)<80){
        System.out.println('B');
      }else{
        System.out.println('A');
      } (m+f)>=65 && (m+f)<80 (m+f)>=65 (m+f) m f 65 (m+f)<80 (m+f) m f 80 {
        System.out.println('B');
      } System.out.println('B') System.out.println System.out System System.out 'B' {
        System.out.println('A');
      } System.out.println('A') System.out.println System.out System System.out 'A' String[] args args
import java.io.*;
import java.util.*;
import java.lang.*;

class Main{
  public static void main(String[] args) throws IOException{
    Scanner scan=new Scanner(System.in);

    while(true){
      int m=Integer.parseInt(scan.next());
      int f=Integer.parseInt(scan.next());
      int r=Integer.parseInt(scan.next());
      if(m==-1 && f==-1 && r==-1)break;
      if((m==-1 || f==-1) || (m+f)<30){
        System.out.println('F');
      }else if((m+f)>=30 && (m+f)<50){
        if(r>=50){
          System.out.println('C');
        }else{
          System.out.println('D');
        }
      }else if((m+f)>=50 && (m+f)<65){
        System.out.println('C');
      }else if((m+f)>=65 && (m+f)<80){
        System.out.println('B');
      }else{
        System.out.println('A');
      }
    }
  }
}
