import qualified Control.Monad as Monad
import qualified Data.ByteString.Char8 as BS
import qualified Data.Maybe as Maybe
import qualified Debug.Trace as Trace

succ' :: Char -> Char
succ' c =
    case c of
    'Z' -> 'A'
    _ -> succ c

succN :: Int -> Char -> Char
succN n c
    | (n == 0) = c
    | (n == 1) = succ' c
    | otherwise = succN (n - 1) (succ' c)

solve :: Int -> String -> String
solve n s = map (succN n) s

main = do
    n <- (fst . Maybe.fromJust . BS.readInt) <$> BS.getLine
    s <- getLine
    let ans = solve n s
    putStrLn ans