from functools import partial



N = int(eval(input()))

S = eval(input())



lst = [chr(ord("A")+i) for i in range(26)]



def convert(x,n):

  id = ord(x) - ord("A")

  return lst[(id+n)%26]



convert1 = partial(convert,n=N)



ans = "".join(map(convert1,S))

print(ans)
from functools import partial



N = int(eval(input()))

S = eval(input())

lst = [chr(ord("A")+i) for i in range(26)]



def convert(x,n,l):

  id = ord(x) - ord("A")

  return l[(id+n)%26]



ans = "".join(map(partial(convert,n=N,l=lst),S))

print(ans)
from functools import partial

N = int(eval(input()))
S = eval(input())
lst = [chr(ord("A") + i) for i in range(26)]


def convert(x, n):
    id = ord(x) - ord("A")
    return lst[(id + n) % 26]


convert1 = partial(convert, n=N)
ans = "".join(map(convert1, S))
print(ans)

from functools import partial

N = int(eval(input()))
S = eval(input())
lst = [chr(ord("A") + i) for i in range(26)]


def convert(x, n, l):
    id = ord(x) - ord("A")
    return l[(id + n) % 26]


ans = "".join(map(partial(convert, n=N, l=lst), S))
print(ans)

-def convert(x, n): +def convert(x, n, l): -    return lst[(id + n) % 26] +    return l[(id + n) % 26] -convert1 = partial(convert, n=N) -ans = "".join(map(convert1, S)) +ans = "".join(map(partial(convert, n=N, l=lst), S))