import java.util.*;
import java.util.stream.Collectors;

class Main {
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
      
        String s = sc.next();
        List<String> words = Arrays.asList("dream", "erase", "dreamer", "eraser");

        int tmpIndex = s.length();
        while (true) {
            int tmpIndex2  = tmpIndex;
            for (String word : words) {
                if(s.startsWith(word, tmpIndex - word.length())) {
                    tmpIndex = s.indexOf(word, tmpIndex - word.length());
                    break;

                }
            }

            if (tmpIndex == 0 || tmpIndex == tmpIndex2) {
                break;
            }
        }
        String result = "NO";
        if (tmpIndex == 0) {
            result = "YES";
        }


        System.out.println(result);
    }
}
/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz