import java.util.*;

class Main{
  public static void main(String[] args){
    Scanner sc=new Scanner(System.in);
    String s = sc.next();
    int n=s.length();
    while(n>4){
//      System.out.println(n);
      if(s.substring(n-5,n).equals("dream")){
        n-=5;
      }else if(n>6&&s.substring(n-7,n).equals("dreamer")){
        n-=7;
      }else if(s.substring(n-5,n).equals("erase")){
        n-=5;
      }else if(n>5&&s.substring(n-6,n).equals("eraser")){
        n-=6;
      }else{
        System.out.println("NO");
        return;
      }
    }
    System.out.println("YES");
  }
} import java.util.*; util.* java class Main{
  public static void main(String[] args){
    Scanner sc=new Scanner(System.in);
    String s = sc.next();
    int n=s.length();
    while(n>4){
//      System.out.println(n);
      if(s.substring(n-5,n).equals("dream")){
        n-=5;
      }else if(n>6&&s.substring(n-7,n).equals("dreamer")){
        n-=7;
      }else if(s.substring(n-5,n).equals("erase")){
        n-=5;
      }else if(n>5&&s.substring(n-6,n).equals("eraser")){
        n-=6;
      }else{
        System.out.println("NO");
        return;
      }
    }
    System.out.println("YES");
  }
} Main public static void main(String[] args){
    Scanner sc=new Scanner(System.in);
    String s = sc.next();
    int n=s.length();
    while(n>4){
//      System.out.println(n);
      if(s.substring(n-5,n).equals("dream")){
        n-=5;
      }else if(n>6&&s.substring(n-7,n).equals("dreamer")){
        n-=7;
      }else if(s.substring(n-5,n).equals("erase")){
        n-=5;
      }else if(n>5&&s.substring(n-6,n).equals("eraser")){
        n-=6;
      }else{
        System.out.println("NO");
        return;
      }
    }
    System.out.println("YES");
  } main {
    Scanner sc=new Scanner(System.in);
    String s = sc.next();
    int n=s.length();
    while(n>4){
//      System.out.println(n);
      if(s.substring(n-5,n).equals("dream")){
        n-=5;
      }else if(n>6&&s.substring(n-7,n).equals("dreamer")){
        n-=7;
      }else if(s.substring(n-5,n).equals("erase")){
        n-=5;
      }else if(n>5&&s.substring(n-6,n).equals("eraser")){
        n-=6;
      }else{
        System.out.println("NO");
        return;
      }
    }
    System.out.println("YES");
  } Scanner sc=new Scanner(System.in); sc new Scanner(System.in) String s = sc.next(); s sc.next() sc.next sc int n=s.length(); n s.length() s.length s while(n>4){
//      System.out.println(n);
      if(s.substring(n-5,n).equals("dream")){
        n-=5;
      }else if(n>6&&s.substring(n-7,n).equals("dreamer")){
        n-=7;
      }else if(s.substring(n-5,n).equals("erase")){
        n-=5;
      }else if(n>5&&s.substring(n-6,n).equals("eraser")){
        n-=6;
      }else{
        System.out.println("NO");
        return;
      }
    } n>4 n 4 {
//      System.out.println(n);
      if(s.substring(n-5,n).equals("dream")){
        n-=5;
      }else if(n>6&&s.substring(n-7,n).equals("dreamer")){
        n-=7;
      }else if(s.substring(n-5,n).equals("erase")){
        n-=5;
      }else if(n>5&&s.substring(n-6,n).equals("eraser")){
        n-=6;
      }else{
        System.out.println("NO");
        return;
      }
    } if(s.substring(n-5,n).equals("dream")){
        n-=5;
      }else if(n>6&&s.substring(n-7,n).equals("dreamer")){
        n-=7;
      }else if(s.substring(n-5,n).equals("erase")){
        n-=5;
      }else if(n>5&&s.substring(n-6,n).equals("eraser")){
        n-=6;
      }else{
        System.out.println("NO");
        return;
      } s.substring(n-5,n).equals("dream") s.substring(n-5,n).equals s.substring(n-5,n) s.substring s n-5 n 5 n "dream" {
        n-=5;
      } n-=5 n 5 if(n>6&&s.substring(n-7,n).equals("dreamer")){
        n-=7;
      }else if(s.substring(n-5,n).equals("erase")){
        n-=5;
      }else if(n>5&&s.substring(n-6,n).equals("eraser")){
        n-=6;
      }else{
        System.out.println("NO");
        return;
      } n>6&&s.substring(n-7,n).equals("dreamer") n>6 n 6 s.substring(n-7,n).equals("dreamer") s.substring(n-7,n).equals s.substring(n-7,n) s.substring s n-7 n 7 n "dreamer" {
        n-=7;
      } n-=7 n 7 if(s.substring(n-5,n).equals("erase")){
        n-=5;
      }else if(n>5&&s.substring(n-6,n).equals("eraser")){
        n-=6;
      }else{
        System.out.println("NO");
        return;
      } s.substring(n-5,n).equals("erase") s.substring(n-5,n).equals s.substring(n-5,n) s.substring s n-5 n 5 n "erase" {
        n-=5;
      } n-=5 n 5 if(n>5&&s.substring(n-6,n).equals("eraser")){
        n-=6;
      }else{
        System.out.println("NO");
        return;
      } n>5&&s.substring(n-6,n).equals("eraser") n>5 n 5 s.substring(n-6,n).equals("eraser") s.substring(n-6,n).equals s.substring(n-6,n) s.substring s n-6 n 6 n "eraser" {
        n-=6;
      } n-=6 n 6 {
        System.out.println("NO");
        return;
      } System.out.println("NO") System.out.println System.out System System.out "NO" return; System.out.println("YES") System.out.println System.out System System.out "YES" String[] args args
import java.util.*;

class Main{
  public static void main(String[] args){
    Scanner sc=new Scanner(System.in);
    String s = sc.next();
    int n=s.length();
    while(n>4){
//      System.out.println(n);
      if(s.substring(n-5,n).equals("dream")){
        n-=5;
      }else if(n>6&&s.substring(n-7,n).equals("dreamer")){
        n-=7;
      }else if(s.substring(n-5,n).equals("erase")){
        n-=5;
      }else if(n>5&&s.substring(n-6,n).equals("eraser")){
        n-=6;
      }else{
        System.out.println("NO");
        return;
      }
    }
    System.out.println("YES");
  }
}