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 exception E fun countWhite nil = 0 | countWhite (#"R" :: tl) = countWhite tl | countWhite (#"W" :: tl) = 1 + countWhite tl | countWhite _ = raise E fun findAns nil = 0 | findAns (h :: tl) = countWhite (String.explode h) + findAns tl val () = let val n = readInt () val m = readInt () val a_s = List.tabulate (n, fn _ => readStr ()) val ans = findAns a_s in print (Int.toString ans ^ "\n") end