import re

S = eval(input())

'''

メタ文字：

^ = 文字列の先頭、

| = OR

+ = 直前のパターンを1回以上繰り返し、

$ = 文字列の末尾

'''

if re.match("^(dream|dreamer|erase|eraser)+$", S):

    print('YES')

else:

    print('NO')
s=input().replace("eraser","").replace("erase","").replace("dreamer","").replace("dream","")

if s:

    print("NO")

else:

    print("YES")

import re

S = eval(input())
"""
メタ文字：
^ = 文字列の先頭、
| = OR
+ = 直前のパターンを1回以上繰り返し、
$ = 文字列の末尾
"""
if re.match("^(dream|dreamer|erase|eraser)+$", S):
    print("YES")
else:
    print("NO")

s = (
    input()
    .replace("eraser", "")
    .replace("erase", "")
    .replace("dreamer", "")
    .replace("dream", "")
)
if s:
    print("NO")
else:
    print("YES")

-import re - -S = eval(input()) -""" -メタ文字： -^ = 文字列の先頭、 -| = OR -+ = 直前のパターンを1回以上繰り返し、 -$ = 文字列の末尾 -""" -if re.match("^(dream|dreamer|erase|eraser)+$", S): +s = ( +    input() +    .replace("eraser", "") +    .replace("erase", "") +    .replace("dreamer", "") +    .replace("dream", "") +) +if s: +    print("NO") +else: -else: -    print("NO")