n=int(input())
s=input()
ls=[]
for i in s:
s_f=0
if ord(i)+n<=ord('z'):
s_f=(ord(i)+n)
else:
cha=(ord('z')-ord(i))
s_f=(ord('a')+(n-cha-1)%26)#n有可能太大了,需要取模,我没取模一直输出乱码
ls.append(chr(s_f))
print(''.join(ls))
#取模%26
'''
n = int(input())
s = input()
ls = []
for i in s:
if 'a' <= i <= 'z':
if ord(i) + n <= ord('z'):
s_f = ord(i) + n
else:
# 修正:减去26的整数倍,而不是减1
cha = (ord(i) - ord('a') + n) % 26
s_f = ord('a') + cha
ls.append(chr(s_f))
else:
ls.append(i) # 处理非字母字符
print(''.join(ls))
'''

京公网安备 11010502036488号