
/*
問題文
英大文字のみからなる文字列 S があります。
また、整数 N が与えられます。

S の各文字を、アルファベット順で N 個後の文字に置き換えた文字列を出力してください。

ただしアルファベット順で Z の 1 個後の文字は A とみなします。

制約
0≤N≤26
1≤|S|≤10^4
S は英大文字のみからなる

*/

function Main(input) {

    var S = input.split('\n')
    var n = Number(S[0]);
    // 配列
    var item = [
        "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L","M", "N",
        "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"
    ];

    // 変換前文字列を1文字ずつ格納する配列と、変換後文字列格納用変数の宣言
    var temp = S[1].split("");
    var ans = "";

    // 配列のインデックスを利用して、文字列を変換
    for (var i = 0; i < temp.length; i++) {
        var place = item.indexOf(temp[i]);

        if (place + n <= 25) {
            ans += item[place + n];
        } else {
            ans += item[place + n - 26];
        }
    }
    console.log(ans);
}
 
//*編集不可。標準入出力から一度に読み込み、Mainを呼び出す
Main(require("fs").readFileSync("/dev/stdin", "utf8"));