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 Test {
    public static void main(String[] argsٍ) {
        Scanner scanner = new Scanner(System.in);
        String string = scanner.next();
        char [] s = string.toCharArray();
        boolean finda=false;
        boolean changedone=false;
        int i =0;
        while(i!=s.length){
            if (finda==false &&changedone==false){
                while (s[i]=='a' && i!=s.length-1  ){
                    i++;
                    finda = true;
//                    System.out.println(i);
                }
                if (i==s.length-1 && s[i] =='a'){
                    s[i]= 'z' ;
                    i++;
                }
            }

           if(i!=s.length){
//               System.out.println(i);
               if (s[i]=='a' ){
                break;
               }else{
                   s[i]= (char) (Integer.valueOf(s[i])-1) ;
                   changedone=true;
               }
               i++;
           }


        }

        System.out.println(String.valueOf(s));

//        int n = scanner.nextInt();
//        int m= 0 ;
//        ArrayList<Integer> arrayList = new ArrayList<>();
//        ArrayList<Integer> arrayListSorted = new ArrayList<>();
//        ArrayList<Long> sum = new ArrayList<>();
//        ArrayList<Long> sortedSum = new ArrayList<>();
//
//        for (int i = 0 ;i<n ; i++){
//            arrayList.add(i,scanner.nextInt());
//            arrayListSorted.add(i,arrayList.get(i));
//            if(i!=0){
//                sum.add(i,arrayList.get(i)+sum.get(i-1));
//            }
//            else{
//                sum.add(i,arrayListSorted.get(i).longValue());
//
//            }
//        }
//        Collections.sort(arrayListSorted);
//
//        for (int i = 0 ;i<n ; i++){
//            if(i!=0){
//                sortedSum.add(i,arrayListSorted.get(i)+sortedSum.get(i-1));
//            }
//            else{
//                sortedSum.add(i,arrayListSorted.get(i).longValue());
//            }
//        }
//        m=scanner.nextInt();
//        ArrayList <Integer[]> arraysArrayList = new ArrayList<>();
//        for (int i =0 ;i<m;i++){
//            Integer[] array = new Integer[3];
//            for (int j=0;j<3 ;j++){
//            array[j]=scanner.nextInt();
//            }
//            arraysArrayList.add(i,array);
//        }
//
//
//
////        System.out.println(n);
////        for (int i =0 ; i<n ; i++){
////            System.out.print(arrayList.get(i) + "   ");
////        }
////        System.out.println();
////        System.out.println(m);
////        for (int i =0 ;i<m;i++){
////            Integer[] array = arraysArrayList.get(i);
////            for (int j=0;j<3 ;j++){
////                System.out.print(array[j] + "  ");
////            }
////            System.out.println();
////        }
////        System.out.println("not sorted");
////
////        for (int i =0 ; i<n ; i++){
////            System.out.print(sum.get(i) + "   ");
////        }
////        System.out.println(" sorted");
////
////        for (int i =0 ; i<n ; i++){
////            System.out.print(sortedSum.get(i) + "   ");
////        }
////
////        System.out.println("Answerrrrrrrrrrr");
//
//        for (int i =0; i<m ;i++){
//            if (arraysArrayList.get(i)[0]==1){
//                if(arraysArrayList.get(i)[1]-2>=0){
//                    System.out.println(sum.get(arraysArrayList.get(i)[2]-1)- sum.get(arraysArrayList.get(i)[1]-2));
//                }
//                else{
//                    System.out.println(sum.get(arraysArrayList.get(i)[2]-1));
//                }
//            }
//            else{
//                if(arraysArrayList.get(i)[1]-2>=0){
//                    System.out.println(sortedSum.get(arraysArrayList.get(i)[2]-1)- sortedSum.get(arraysArrayList.get(i)[1]-2));
//                }
//                else{
//                    System.out.println(sortedSum.get(arraysArrayList.get(i)[2]-1));
//                }
//            }
//        }
    }
}
