let list_of_str s =
  let rec f i = if i >= String.length s then [] else s.[i] :: f (i+1) in f 0

let rec solve = function
  | [] -> "YES"
  (* 1. erase[r] はその場で消費して OK *)
  | 'e'::'r'::'a'::'s'::'e'::'r'::xs
  | 'e'::'r'::'a'::'s'::'e'::xs
  (* 2. dreamer... と来ても実は dream erase[r] かもしれない*)
  | 'd'::'r'::'e'::'a'::'m'::'e'::'r'::'a'::'s'::'e'::'r'::xs
  | 'd'::'r'::'e'::'a'::'m'::'e'::'r'::'a'::'s'::'e'::xs
  (* 3. dream[er] *)
  | 'd'::'r'::'e'::'a'::'m'::'e'::'r'::xs
  | 'd'::'r'::'e'::'a'::'m'::xs -> solve xs
  (* 4. NO *)
  | _ -> "NO"

let () = Scanf.scanf "%s" list_of_str |> solve |> print_endline
