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))