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 table = let fun digitToNum d = Char.ord d - Char.ord #"0" fun findAnsAux [] = [] | findAnsAux (h :: tl) = if Char.isDigit h then Array.sub (table, digitToNum h) :: findAnsAux tl else h :: findAnsAux tl in String.implode (findAnsAux (String.explode s)) end val () = let val a = readStr () val s = readStr () val table = Array.fromList (String.explode a) val ans = findAns s table in print (ans ^ "\n") end