You are given a string S consisting of lowercase English letters. Another string T is initially empty. Determine whether it is possible to obtain S = T by performing the following operation an arbitrary number of times:

* Append one of the following at the end of T: `dream`, `dreamer`, `erase` and `eraser`.

Constraints

* 1≦|S|≦10^5
* S consists of lowercase English letters.

Input

The input is given from Standard Input in the following format:


S


Output

If it is possible to obtain S = T, print `YES`. Otherwise, print `NO`.

Examples

Input

erasedream


Output

YES


Input

dreameraser


Output

YES


Input

dreamerer


Output

NO
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String s = sc.next();
		s = s.replaceAll("eraser", "").replaceAll("erase", "").replaceAll("dreamer", "").replaceAll("dream", "");
		if(s.equals("")) {
			System.out.println("YES");
		} else {
			System.out.println("NO");
		}
	}
}
