import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) throws Exception{    
        Scanner sc = new Scanner(System.in);
        // code
       
        String s = sc.next();
        
        int ans = func(0, s, s.length());
        
        
        if(ans  >= 1){
        	System.out.println("YES");
        }else{
        	System.out.println("NO");
        }
        
        sc.close();
    }
        
    static int func(int i, String s, int len){
    	int ans = 0;
    	
    	if(len - i <= 7){
    		if(len - i == 5){
            	if(s.substring(i, i+5).equals("dream")) ans += 1;
            	if(s.substring(i, i+5).equals("erase")) ans += 1;
            }else if(len - i == 6){
            	if(s.substring(i, i+6).equals("eraser")) ans += 1;
            }else if(len - i == 7){
            	if(s.substring(i, i+7).equals("dreamer")) ans += 1;
            }
    	}else if(s.substring(i, i+5).equals("dream")){
    		ans += func(i+5, s, len);
    		if(s.substring(i, i+7).equals("dreamer")) ans += func(i+7, s, len);
    	}else if(s.substring(i, i+5).equals("erase")){
    		ans += func(i+5, s, len);
    		if(s.substring(i, i+6).equals("eraser")) ans += func(i+6, s, len);
    	}
    	return ans;
    }
    
    
    
    
 
} import java.util.Scanner; Scanner java.util public class Main {
    public static void main(String[] args) throws Exception{    
        Scanner sc = new Scanner(System.in);
        // code
       
        String s = sc.next();
        
        int ans = func(0, s, s.length());
        
        
        if(ans  >= 1){
        	System.out.println("YES");
        }else{
        	System.out.println("NO");
        }
        
        sc.close();
    }
        
    static int func(int i, String s, int len){
    	int ans = 0;
    	
    	if(len - i <= 7){
    		if(len - i == 5){
            	if(s.substring(i, i+5).equals("dream")) ans += 1;
            	if(s.substring(i, i+5).equals("erase")) ans += 1;
            }else if(len - i == 6){
            	if(s.substring(i, i+6).equals("eraser")) ans += 1;
            }else if(len - i == 7){
            	if(s.substring(i, i+7).equals("dreamer")) ans += 1;
            }
    	}else if(s.substring(i, i+5).equals("dream")){
    		ans += func(i+5, s, len);
    		if(s.substring(i, i+7).equals("dreamer")) ans += func(i+7, s, len);
    	}else if(s.substring(i, i+5).equals("erase")){
    		ans += func(i+5, s, len);
    		if(s.substring(i, i+6).equals("eraser")) ans += func(i+6, s, len);
    	}
    	return ans;
    }
    
    
    
    
 
} Main public static void main(String[] args) throws Exception{    
        Scanner sc = new Scanner(System.in);
        // code
       
        String s = sc.next();
        
        int ans = func(0, s, s.length());
        
        
        if(ans  >= 1){
        	System.out.println("YES");
        }else{
        	System.out.println("NO");
        }
        
        sc.close();
    } main {    
        Scanner sc = new Scanner(System.in);
        // code
       
        String s = sc.next();
        
        int ans = func(0, s, s.length());
        
        
        if(ans  >= 1){
        	System.out.println("YES");
        }else{
        	System.out.println("NO");
        }
        
        sc.close();
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) String s = sc.next(); s sc.next() sc.next sc int ans = func(0, s, s.length()); ans func(0, s, s.length()) func 0 s s.length() s.length s if(ans  >= 1){
        	System.out.println("YES");
        }else{
        	System.out.println("NO");
        } ans  >= 1 ans 1 {
        	System.out.println("YES");
        } System.out.println("YES") System.out.println System.out System System.out "YES" {
        	System.out.println("NO");
        } System.out.println("NO") System.out.println System.out System System.out "NO" sc.close() sc.close sc String[] args args static int func(int i, String s, int len){
    	int ans = 0;
    	
    	if(len - i <= 7){
    		if(len - i == 5){
            	if(s.substring(i, i+5).equals("dream")) ans += 1;
            	if(s.substring(i, i+5).equals("erase")) ans += 1;
            }else if(len - i == 6){
            	if(s.substring(i, i+6).equals("eraser")) ans += 1;
            }else if(len - i == 7){
            	if(s.substring(i, i+7).equals("dreamer")) ans += 1;
            }
    	}else if(s.substring(i, i+5).equals("dream")){
    		ans += func(i+5, s, len);
    		if(s.substring(i, i+7).equals("dreamer")) ans += func(i+7, s, len);
    	}else if(s.substring(i, i+5).equals("erase")){
    		ans += func(i+5, s, len);
    		if(s.substring(i, i+6).equals("eraser")) ans += func(i+6, s, len);
    	}
    	return ans;
    } func {
    	int ans = 0;
    	
    	if(len - i <= 7){
    		if(len - i == 5){
            	if(s.substring(i, i+5).equals("dream")) ans += 1;
            	if(s.substring(i, i+5).equals("erase")) ans += 1;
            }else if(len - i == 6){
            	if(s.substring(i, i+6).equals("eraser")) ans += 1;
            }else if(len - i == 7){
            	if(s.substring(i, i+7).equals("dreamer")) ans += 1;
            }
    	}else if(s.substring(i, i+5).equals("dream")){
    		ans += func(i+5, s, len);
    		if(s.substring(i, i+7).equals("dreamer")) ans += func(i+7, s, len);
    	}else if(s.substring(i, i+5).equals("erase")){
    		ans += func(i+5, s, len);
    		if(s.substring(i, i+6).equals("eraser")) ans += func(i+6, s, len);
    	}
    	return ans;
    } int ans = 0; ans 0 if(len - i <= 7){
    		if(len - i == 5){
            	if(s.substring(i, i+5).equals("dream")) ans += 1;
            	if(s.substring(i, i+5).equals("erase")) ans += 1;
            }else if(len - i == 6){
            	if(s.substring(i, i+6).equals("eraser")) ans += 1;
            }else if(len - i == 7){
            	if(s.substring(i, i+7).equals("dreamer")) ans += 1;
            }
    	}else if(s.substring(i, i+5).equals("dream")){
    		ans += func(i+5, s, len);
    		if(s.substring(i, i+7).equals("dreamer")) ans += func(i+7, s, len);
    	}else if(s.substring(i, i+5).equals("erase")){
    		ans += func(i+5, s, len);
    		if(s.substring(i, i+6).equals("eraser")) ans += func(i+6, s, len);
    	} len - i <= 7 len - i len i 7 {
    		if(len - i == 5){
            	if(s.substring(i, i+5).equals("dream")) ans += 1;
            	if(s.substring(i, i+5).equals("erase")) ans += 1;
            }else if(len - i == 6){
            	if(s.substring(i, i+6).equals("eraser")) ans += 1;
            }else if(len - i == 7){
            	if(s.substring(i, i+7).equals("dreamer")) ans += 1;
            }
    	} if(len - i == 5){
            	if(s.substring(i, i+5).equals("dream")) ans += 1;
            	if(s.substring(i, i+5).equals("erase")) ans += 1;
            }else if(len - i == 6){
            	if(s.substring(i, i+6).equals("eraser")) ans += 1;
            }else if(len - i == 7){
            	if(s.substring(i, i+7).equals("dreamer")) ans += 1;
            } len - i == 5 len - i len i 5 {
            	if(s.substring(i, i+5).equals("dream")) ans += 1;
            	if(s.substring(i, i+5).equals("erase")) ans += 1;
            } if(s.substring(i, i+5).equals("dream")) ans += 1; s.substring(i, i+5).equals("dream") s.substring(i, i+5).equals s.substring(i, i+5) s.substring s i i+5 i 5 "dream" ans += 1 ans 1 if(s.substring(i, i+5).equals("erase")) ans += 1; s.substring(i, i+5).equals("erase") s.substring(i, i+5).equals s.substring(i, i+5) s.substring s i i+5 i 5 "erase" ans += 1 ans 1 if(len - i == 6){
            	if(s.substring(i, i+6).equals("eraser")) ans += 1;
            }else if(len - i == 7){
            	if(s.substring(i, i+7).equals("dreamer")) ans += 1;
            } len - i == 6 len - i len i 6 {
            	if(s.substring(i, i+6).equals("eraser")) ans += 1;
            } if(s.substring(i, i+6).equals("eraser")) ans += 1; s.substring(i, i+6).equals("eraser") s.substring(i, i+6).equals s.substring(i, i+6) s.substring s i i+6 i 6 "eraser" ans += 1 ans 1 if(len - i == 7){
            	if(s.substring(i, i+7).equals("dreamer")) ans += 1;
            } len - i == 7 len - i len i 7 {
            	if(s.substring(i, i+7).equals("dreamer")) ans += 1;
            } if(s.substring(i, i+7).equals("dreamer")) ans += 1; s.substring(i, i+7).equals("dreamer") s.substring(i, i+7).equals s.substring(i, i+7) s.substring s i i+7 i 7 "dreamer" ans += 1 ans 1 if(s.substring(i, i+5).equals("dream")){
    		ans += func(i+5, s, len);
    		if(s.substring(i, i+7).equals("dreamer")) ans += func(i+7, s, len);
    	}else if(s.substring(i, i+5).equals("erase")){
    		ans += func(i+5, s, len);
    		if(s.substring(i, i+6).equals("eraser")) ans += func(i+6, s, len);
    	} s.substring(i, i+5).equals("dream") s.substring(i, i+5).equals s.substring(i, i+5) s.substring s i i+5 i 5 "dream" {
    		ans += func(i+5, s, len);
    		if(s.substring(i, i+7).equals("dreamer")) ans += func(i+7, s, len);
    	} ans += func(i+5, s, len) ans func(i+5, s, len) func i+5 i 5 s len if(s.substring(i, i+7).equals("dreamer")) ans += func(i+7, s, len); s.substring(i, i+7).equals("dreamer") s.substring(i, i+7).equals s.substring(i, i+7) s.substring s i i+7 i 7 "dreamer" ans += func(i+7, s, len) ans func(i+7, s, len) func i+7 i 7 s len if(s.substring(i, i+5).equals("erase")){
    		ans += func(i+5, s, len);
    		if(s.substring(i, i+6).equals("eraser")) ans += func(i+6, s, len);
    	} s.substring(i, i+5).equals("erase") s.substring(i, i+5).equals s.substring(i, i+5) s.substring s i i+5 i 5 "erase" {
    		ans += func(i+5, s, len);
    		if(s.substring(i, i+6).equals("eraser")) ans += func(i+6, s, len);
    	} ans += func(i+5, s, len) ans func(i+5, s, len) func i+5 i 5 s len if(s.substring(i, i+6).equals("eraser")) ans += func(i+6, s, len); s.substring(i, i+6).equals("eraser") s.substring(i, i+6).equals s.substring(i, i+6) s.substring s i i+6 i 6 "eraser" ans += func(i+6, s, len) ans func(i+6, s, len) func i+6 i 6 s len return ans; ans int i i String s s int len len public class Main {
    public static void main(String[] args) throws Exception{    
        Scanner sc = new Scanner(System.in);
        // code
       
        String s = sc.next();
        
        int ans = func(0, s, s.length());
        
        
        if(ans  >= 1){
        	System.out.println("YES");
        }else{
        	System.out.println("NO");
        }
        
        sc.close();
    }
        
    static int func(int i, String s, int len){
    	int ans = 0;
    	
    	if(len - i <= 7){
    		if(len - i == 5){
            	if(s.substring(i, i+5).equals("dream")) ans += 1;
            	if(s.substring(i, i+5).equals("erase")) ans += 1;
            }else if(len - i == 6){
            	if(s.substring(i, i+6).equals("eraser")) ans += 1;
            }else if(len - i == 7){
            	if(s.substring(i, i+7).equals("dreamer")) ans += 1;
            }
    	}else if(s.substring(i, i+5).equals("dream")){
    		ans += func(i+5, s, len);
    		if(s.substring(i, i+7).equals("dreamer")) ans += func(i+7, s, len);
    	}else if(s.substring(i, i+5).equals("erase")){
    		ans += func(i+5, s, len);
    		if(s.substring(i, i+6).equals("eraser")) ans += func(i+6, s, len);
    	}
    	return ans;
    }
    
    
    
    
 
} public class Main {
    public static void main(String[] args) throws Exception{    
        Scanner sc = new Scanner(System.in);
        // code
       
        String s = sc.next();
        
        int ans = func(0, s, s.length());
        
        
        if(ans  >= 1){
        	System.out.println("YES");
        }else{
        	System.out.println("NO");
        }
        
        sc.close();
    }
        
    static int func(int i, String s, int len){
    	int ans = 0;
    	
    	if(len - i <= 7){
    		if(len - i == 5){
            	if(s.substring(i, i+5).equals("dream")) ans += 1;
            	if(s.substring(i, i+5).equals("erase")) ans += 1;
            }else if(len - i == 6){
            	if(s.substring(i, i+6).equals("eraser")) ans += 1;
            }else if(len - i == 7){
            	if(s.substring(i, i+7).equals("dreamer")) ans += 1;
            }
    	}else if(s.substring(i, i+5).equals("dream")){
    		ans += func(i+5, s, len);
    		if(s.substring(i, i+7).equals("dreamer")) ans += func(i+7, s, len);
    	}else if(s.substring(i, i+5).equals("erase")){
    		ans += func(i+5, s, len);
    		if(s.substring(i, i+6).equals("eraser")) ans += func(i+6, s, len);
    	}
    	return ans;
    }
    
    
    
    
 
} Main
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) throws Exception{    
        Scanner sc = new Scanner(System.in);
        // code
       
        String s = sc.next();
        
        int ans = func(0, s, s.length());
        
        
        if(ans  >= 1){
        	System.out.println("YES");
        }else{
        	System.out.println("NO");
        }
        
        sc.close();
    }
        
    static int func(int i, String s, int len){
    	int ans = 0;
    	
    	if(len - i <= 7){
    		if(len - i == 5){
            	if(s.substring(i, i+5).equals("dream")) ans += 1;
            	if(s.substring(i, i+5).equals("erase")) ans += 1;
            }else if(len - i == 6){
            	if(s.substring(i, i+6).equals("eraser")) ans += 1;
            }else if(len - i == 7){
            	if(s.substring(i, i+7).equals("dreamer")) ans += 1;
            }
    	}else if(s.substring(i, i+5).equals("dream")){
    		ans += func(i+5, s, len);
    		if(s.substring(i, i+7).equals("dreamer")) ans += func(i+7, s, len);
    	}else if(s.substring(i, i+5).equals("erase")){
    		ans += func(i+5, s, len);
    		if(s.substring(i, i+6).equals("eraser")) ans += func(i+6, s, len);
    	}
    	return ans;
    }
    
    
    
    
 
}