fun readInt () = valOf (TextIO.scanStream (Int.scan StringCvt.DEC) TextIO.stdIn) fun readStr () = let fun scan reader stream = SOME (StringCvt.splitl (not o Char.isSpace) reader (StringCvt.skipWS reader stream)) in valOf (TextIO.scanStream scan TextIO.stdIn) end fun isExistLOVE nil = false | isExistLOVE (#"L" :: #"O" :: #"V" :: #"E" :: _) = true | isExistLOVE (h :: tl) = isExistLOVE tl fun findAns nil = "NO" | findAns (h :: tl) = if isExistLOVE (String.explode h) then "YES" else findAns tl val () = let val n = readInt () val m = readInt () val s_s = List.tabulate (n, fn _ => readStr ()) val ans = findAns s_s in print (ans ^ "\n") end