def solution(s, n): ret = '' for i in s: if i.isupper(): ret += chr((ord(i) - ord('A') + n)%26 + ord('A')) elif i.islower(): ret += chr((ord(i) - ord('a') + n)%26 + ord('a')) else: ret += i return ret