Mr. Takahashi has a string s consisting of lowercase English letters. He repeats the following operation on s exactly K times.    * Choose an arbitrary letter on s and change that letter to the next alphabet. Note that the next letter of `z` is `a`.  For example, if you perform an operation for the second letter on `aaz`, `aaz` becomes `abz`. If you then perform an operation for the third letter on `abz`, `abz` becomes `aba`.  Mr. Takahashi wants to have the lexicographically smallest string after performing exactly K operations on s. Find the such string.
s = input()
k = int(input())
ans = []
for i in range(len(s)):
  toa =(ord('z')-ord(s[i]))+1
  if toa <= k:
    k -= toa 
    ans += 'a'
  else: ans += s[i]

if k == 0:print(ans)
else: 
  rest = k%26
  tmp = ord(ans[-1])+rest
  if tmp >122:
    tmp -= 26
  ans[-1] = chr(tmp)
  print("".join(ans))
s = input()
k = int(input())
ans = []
for i in range(len(s)):
  toa =(ord('z')-ord(s[i]))+1
  if s[i] =='a':ans += s[i]
  else:
   if toa <= k:
     k -= toa 
     ans += 'a'
   else: ans += s[i]

if k == 0:print("".join(ans))
else: 
  rest = k%26
  tmp = ord(ans[-1])+rest
  if tmp >122:
    tmp -= 26
  ans[-1] = chr(tmp)
  print("".join(ans))