Solve the programming task below in a Python markdown code block.
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