def main():

    N = int(eval(input()))

    S = list(eval(input()))

    ans = []

    a = ord("A")

    z = ord("Z")

    for s in S:

        if ord(s) + N <= z:

            ans.append(chr(ord(s) + N))

        else:

            ans.append(chr(ord(s) + N - z + a - 1))

    print(("".join(ans)))

    return





main()

def main():

    N = int(eval(input()))

    S = eval(input())

    alp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

    print((S.translate(str.maketrans(alp, alp[N:] + alp[:N]))))

    return





main()

def main():
    N = int(eval(input()))
    S = list(eval(input()))
    ans = []
    a = ord("A")
    z = ord("Z")
    for s in S:
        if ord(s) + N <= z:
            ans.append(chr(ord(s) + N))
        else:
            ans.append(chr(ord(s) + N - z + a - 1))
    print(("".join(ans)))
    return


main()

def main():
    N = int(eval(input()))
    S = eval(input())
    alp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    print((S.translate(str.maketrans(alp, alp[N:] + alp[:N]))))
    return


main()

-    S = list(eval(input())) -    ans = [] -    a = ord("A") -    z = ord("Z") -    for s in S: -        if ord(s) + N <= z: -            ans.append(chr(ord(s) + N)) -        else: -            ans.append(chr(ord(s) + N - z + a - 1)) -    print(("".join(ans))) +    S = eval(input()) +    alp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" +    print((S.translate(str.maketrans(alp, alp[N:] + alp[:N]))))