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.
import java.util.*;


public class bucky{


private int suma;

public static void main (String args[]) {

Scanner input=new Scanner(System.in);

HashMap<String, String> map= new HashMap<String, String>();
HashMap<String, String> map2= new HashMap<String, String>();
HashMap<String, Integer> scazut= new HashMap<String, Integer>();
HashMap<Integer, Integer> linieright= new HashMap<Integer, Integer>();
	
			
			
			String str=input.next();
			 int start=0;
		    int stop=0;
		    int len=str.length();
		    int max=0;
			
		map.put("a","z");		
		map.put("b","a");
		map.put("c","b");
		map.put("d","c");
		map.put("e","d");
		map.put("f","e");
		
		map.put("g","f");
		map.put("h","g");
		map.put("i","h");
		map.put("j","i");
		map.put("k","j");
		map.put("l","k");
		
		map.put("m","l");
		map.put("n","m");
		map.put("o","n");
		map.put("p","o");
		map.put("q","p");
		map.put("r","q");
		
		
		map.put("s","r");
		map.put("t","s");
		map.put("u","t");
		map.put("v","u");
		map.put("w","v");
		map.put("x","w");
		map.put("y","x");
		map.put("z","y");

			
			int j=-1;
	
			int x=0;
			
			if(len==1) System.out.print(map.get(str));
			
			else if(len-str.replaceAll("a","").length()==len)
			System.out.print("a"+str.substring(0,len-2)+ map.get(str.substring(len-1)));
			
			else{
			
			for(int i=0;i<str.length();i++){
			    
		  
			
			if(str.charAt(i)!='a' && x==0) {x=1;
			
			for( j=i;j<str.length() && str.charAt(j)!='a';j++)
			 System.out.print(map.get(str.substring(j,j+1)));  
			 
			 
			 i=j+1;
			 
			// System.out.println("j="+j);
			    
			    
			}
			
			else  if(str.charAt(i)=='a' && i<len && x==0)
			System.out.print(str.charAt(i));
		
			
			}
				if(j>-1 && x>0)
			System.out.print(str.substring(j,str.length()));
		    
		    
		    if(x==0) 
		    System.out.println(str.substring(0,str.length()-1)+
		    map.get(str.substring(str.length()-1)));
		    
		    
		    
		}
}
		
}
		

	
	
			
	