import sys

sys.setrecursionlimit(2147483647)

INF=float("inf")

MOD=10**9+7

input=lambda :sys.stdin.readline().rstrip()

def resolve():

    n=int(eval(input()))

    S=list(eval(input()))

    S=list(map(ord,S))

    for i in range(len(S)):

        s=S[i]

        S[i]=65+(s+n-65)%26

    S=list(map(chr,S))

    print((''.join(S)))

resolve()
import sys

sys.setrecursionlimit(2147483647)

INF=float("inf")

MOD=10**9+7

input=lambda:sys.stdin.readline().rstrip()

def resolve():

    n=int(eval(input()))

    ans=[]

    for s in eval(input()):

        k=(ord(s)-ord('A')+n)%26+ord('A')

        ans.append(chr(k))



    print((''.join(ans)))

resolve()
import sys

sys.setrecursionlimit(2147483647)
INF = float("inf")
MOD = 10**9 + 7
input = lambda: sys.stdin.readline().rstrip()


def resolve():
    n = int(eval(input()))
    S = list(eval(input()))
    S = list(map(ord, S))
    for i in range(len(S)):
        s = S[i]
        S[i] = 65 + (s + n - 65) % 26
    S = list(map(chr, S))
    print(("".join(S)))


resolve()

import sys

sys.setrecursionlimit(2147483647)
INF = float("inf")
MOD = 10**9 + 7
input = lambda: sys.stdin.readline().rstrip()


def resolve():
    n = int(eval(input()))
    ans = []
    for s in eval(input()):
        k = (ord(s) - ord("A") + n) % 26 + ord("A")
        ans.append(chr(k))
    print(("".join(ans)))


resolve()

-    S = list(eval(input())) -    S = list(map(ord, S)) -    for i in range(len(S)): -        s = S[i] -        S[i] = 65 + (s + n - 65) % 26 -    S = list(map(chr, S)) -    print(("".join(S))) +    ans = [] +    for s in eval(input()): +        k = (ord(s) - ord("A") + n) % 26 + ord("A") +        ans.append(chr(k)) +    print(("".join(ans)))