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 [] = 0 | findAns (#"0" :: tl) = findAns tl | findAns (_ :: tl) = 1 + findAns tl val () = let val c = readStr () val ans = findAns (List.tl (String.explode c)) in print (Int.toString ans ^ "\n") end