import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		String S = in.next();
		boolean isOk = false;
		String[] divide = { "dream", "dreamer", "erase", "eraser" };
		int t = S.length();
		while (true) {
			for (String s : divide) {
				if (t - s.length() >= 0 && S.substring(t - s.length(), t).equals(s)) {
					isOk = true;
					t -= s.length();
					break;
				} else {
					isOk = false;
				}
			}
			if (!isOk || t == 0) {
				break;
			}
		}
		System.out.println(isOk ? "YES" : "NO");
		in.close();
	}
}
/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