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 val () = let val n = readInt () val s = readStr () val p_s = List.tabulate (n, fn _ => readInt ()) in ( List.app (fn i => print (String.str (String.sub (s, i - 1)))) p_s; print "\n" ) end