n = int(input()) s = input().strip() result = [] for char in s: shifted = ord(char)+n shifted = (shifted - ord('a')) % 26 +ord('a') result.append(chr(shifted)) print(''.join(result))
# 读取偏移量n(整数),表示每个字符需要向后移动的位数
n = int(input())
# 读取需要加密的字符串,并去除首尾可能存在的空白字符
s = input().strip()
# 用于存储加密后的字符列表
result = []
# 遍历字符串中的每个字符
for char in s:
# 计算字符向后偏移n位后的ASCII码值
# ord(char)获取字符的ASCII码,加上偏移量n
shifted = ord(char) + n
# 处理字母循环:确保偏移后仍在'a'-'z'范围内
# 1. 先将ASCII码转换为0-25的范围(a=0, b=1, ..., z=25)
# 2. 对26取模,处理超过'z'的情况(如z偏移1位后变为a)
# 3. 再转换回ASCII码范围
shifted = (shifted - ord('a')) % 26 + ord('a')
# 将偏移后的ASCII码转换为字符,添加到结果列表
result.append(chr(shifted))
# 将结果列表中的所有字符拼接成字符串并输出
print(''.join(result))