main = do s <- getLine (i, j) <- readint2 putStrLn (swap s i j) swap s i j = f s 0 where x = s !! i y = s !! j f s k = case s of "" -> "" (c:cs) | i == k -> y : f cs (k+1) (c:cs) | j == k -> x : f cs (k+1) (c:cs) -> c : f cs (k+1) readint2 :: IO (Int, Int) readint2 = do s <- map read . words <$> getLine return (s !! 0, s !! 1)