You are given a non-empty string s consisting of lowercase English letters. You have to pick exactly one non-empty substring of s and shift all its letters 'z' <image> 'y' <image> 'x' <image> 'b' <image> 'a' <image> 'z'. In other words, each character is replaced with the previous character of English alphabet and 'a' is replaced with 'z'.

What is the lexicographically minimum string that can be obtained from s by performing this shift exactly once?

Input

The only line of the input contains the string s (1 ≤ |s| ≤ 100 000) consisting of lowercase English letters.

Output

Print the lexicographically minimum string that can be obtained from s by shifting letters of exactly one non-empty substring.

Examples

Input

codeforces


Output

bncdenqbdr


Input

abacaba


Output

aaacaba

Note

String s is lexicographically smaller than some other string t of the same length if there exists some 1 ≤ i ≤ |s|, such that s1 = t1, s2 = t2, ..., si - 1 = ti - 1, and si < ti.
###
b={}
b['a'] = 'z'
b['b'] = 'a'
b['c'] = 'b'
b['d'] = 'c'
b['e'] = 'd'
b['f'] = 'e'
b['g'] = 'f'
b['h'] = 'g'
b['i'] = 'h'
b['j'] = 'i'
b['k'] = 'j'
b['l'] = 'k'
b['m'] = 'l'
b['n'] = 'm'
b['o'] = 'n'
b['p'] = 'o'
b['q'] = 'p'
b['r'] = 'q'
b['s'] = 'r'
b['t'] = 's'
b['u'] = 't'
b['v'] = 'u'
b['w'] = 'v'
b['x'] = 'w'
b['y'] = 'x'
b['z'] = 'y'
x=raw_input()
ans = ''
flag = 0
flag1 = 0
if x.count('a')!=len(x):
	for i in range(len(x)):
		if x[i] != 'a' and flag == 0:
			ans = ans + str(b[x[i]])
			flag1 = 1
		elif x[i] == 'a':
			if flag1 == 1: flag = 1
			ans = ans + 'a'
		else:
			ans = ans + x[i]
else:
	ans = 'a'*(len(x)-1) + 'z'
print ans
	
