def process_char(c, k): if k == 0: return c if not c.isdigit(): # Process letters if c.islower(): base = ord('a') else: base = ord('A') shifted = (ord(c) - base + k) % 26 return chr(base + shifted) else: d = int(c) if d < 9: possible_m = 9 - d if k <= possible_m: return str(d + k) else: k -= possible_m # Now it becomes 9, and we need to process one more step k -= 1 # Convert 9 to the string s = 'CpCzNkSuTbEoA' return ''.join(process_char(ch, k) for ch in s) else: # d == 9 s = 'CpCzNkSuTbEoA' k -= 1 return ''.join(process_char(ch, k) for ch in s) S0 = input().strip() N = int(input()) result = [] for c in S0: result.append(process_char(c, N)) print(''.join(result))