X ::= Y | "a"; Y ::= | "c"; Z ::= "d" | X Y Z;