import java.util.*;

class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        String S=sc.next();
        int index=S.length();
        while(index>0){
            if(index>=7 && S.substring(index-7,index).equals("dreamer")){
                index-=7;
            }else if(index>=6 && S.substring(index-6,index).equals("eraser")){
                index-=6;
            }else if(index>=5 && (S.substring(index-5,index).equals("dream") || S.substring(index-5,index).equals("erase"))){
                index-=5;
            }else{
                System.out.println("NO");
                break;
            }
        }
        if(index == 0){
            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 index=S.length();
        while(index>0){
            if(index>=7 && S.substring(index-7,index).equals("dreamer")){
                index-=7;
            }else if(index>=6 && S.substring(index-6,index).equals("eraser")){
                index-=6;
            }else if(index>=5 && (S.substring(index-5,index).equals("dream") || S.substring(index-5,index).equals("erase"))){
                index-=5;
            }else{
                System.out.println("NO");
                break;
            }
        }
        if(index == 0){
            System.out.println("YES");
        }
    }
} Main public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        String S=sc.next();
        int index=S.length();
        while(index>0){
            if(index>=7 && S.substring(index-7,index).equals("dreamer")){
                index-=7;
            }else if(index>=6 && S.substring(index-6,index).equals("eraser")){
                index-=6;
            }else if(index>=5 && (S.substring(index-5,index).equals("dream") || S.substring(index-5,index).equals("erase"))){
                index-=5;
            }else{
                System.out.println("NO");
                break;
            }
        }
        if(index == 0){
            System.out.println("YES");
        }
    } main {
        Scanner sc=new Scanner(System.in);
        String S=sc.next();
        int index=S.length();
        while(index>0){
            if(index>=7 && S.substring(index-7,index).equals("dreamer")){
                index-=7;
            }else if(index>=6 && S.substring(index-6,index).equals("eraser")){
                index-=6;
            }else if(index>=5 && (S.substring(index-5,index).equals("dream") || S.substring(index-5,index).equals("erase"))){
                index-=5;
            }else{
                System.out.println("NO");
                break;
            }
        }
        if(index == 0){
            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 index=S.length(); index S.length() S.length S while(index>0){
            if(index>=7 && S.substring(index-7,index).equals("dreamer")){
                index-=7;
            }else if(index>=6 && S.substring(index-6,index).equals("eraser")){
                index-=6;
            }else if(index>=5 && (S.substring(index-5,index).equals("dream") || S.substring(index-5,index).equals("erase"))){
                index-=5;
            }else{
                System.out.println("NO");
                break;
            }
        } index>0 index 0 {
            if(index>=7 && S.substring(index-7,index).equals("dreamer")){
                index-=7;
            }else if(index>=6 && S.substring(index-6,index).equals("eraser")){
                index-=6;
            }else if(index>=5 && (S.substring(index-5,index).equals("dream") || S.substring(index-5,index).equals("erase"))){
                index-=5;
            }else{
                System.out.println("NO");
                break;
            }
        } if(index>=7 && S.substring(index-7,index).equals("dreamer")){
                index-=7;
            }else if(index>=6 && S.substring(index-6,index).equals("eraser")){
                index-=6;
            }else if(index>=5 && (S.substring(index-5,index).equals("dream") || S.substring(index-5,index).equals("erase"))){
                index-=5;
            }else{
                System.out.println("NO");
                break;
            } index>=7 && S.substring(index-7,index).equals("dreamer") index>=7 index 7 S.substring(index-7,index).equals("dreamer") S.substring(index-7,index).equals S.substring(index-7,index) S.substring S index-7 index 7 index "dreamer" {
                index-=7;
            } index-=7 index 7 if(index>=6 && S.substring(index-6,index).equals("eraser")){
                index-=6;
            }else if(index>=5 && (S.substring(index-5,index).equals("dream") || S.substring(index-5,index).equals("erase"))){
                index-=5;
            }else{
                System.out.println("NO");
                break;
            } index>=6 && S.substring(index-6,index).equals("eraser") index>=6 index 6 S.substring(index-6,index).equals("eraser") S.substring(index-6,index).equals S.substring(index-6,index) S.substring S index-6 index 6 index "eraser" {
                index-=6;
            } index-=6 index 6 if(index>=5 && (S.substring(index-5,index).equals("dream") || S.substring(index-5,index).equals("erase"))){
                index-=5;
            }else{
                System.out.println("NO");
                break;
            } index>=5 && (S.substring(index-5,index).equals("dream") || S.substring(index-5,index).equals("erase")) index>=5 index 5 (S.substring(index-5,index).equals("dream") || S.substring(index-5,index).equals("erase")) S.substring(index-5,index).equals("dream") S.substring(index-5,index).equals S.substring(index-5,index) S.substring S index-5 index 5 index "dream" S.substring(index-5,index).equals("erase") S.substring(index-5,index).equals S.substring(index-5,index) S.substring S index-5 index 5 index "erase" {
                index-=5;
            } index-=5 index 5 {
                System.out.println("NO");
                break;
            } System.out.println("NO") System.out.println System.out System System.out "NO" break; if(index == 0){
            System.out.println("YES");
        } index == 0 index 0 {
            System.out.println("YES");
        } 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 index=S.length();
        while(index>0){
            if(index>=7 && S.substring(index-7,index).equals("dreamer")){
                index-=7;
            }else if(index>=6 && S.substring(index-6,index).equals("eraser")){
                index-=6;
            }else if(index>=5 && (S.substring(index-5,index).equals("dream") || S.substring(index-5,index).equals("erase"))){
                index-=5;
            }else{
                System.out.println("NO");
                break;
            }
        }
        if(index == 0){
            System.out.println("YES");
        }
    }
}