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 findAns s = let fun skipBar nil = nil | skipBar (#"-" :: tl) = skipBar tl | skipBar l = l fun count nil = 0 | count (#"m" :: #"i" :: tl) = 1 + count (List.tl (skipBar tl)) in count (String.explode s) end val () = let val s = readStr () val ans = findAns s in print (Int.toString ans ^ "\n") end