import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 进行凯撒解密
     * @param password string字符串 旺仔哥哥的密码
     * @param n int整型 每个字符加密过程中错位的次数
     * @return string字符串
     */
    public String decodeWangzai (String password, int n) {
        // write code here
        n %= 26; // n的范围限制在[0,25]之间
        char[] cArr = password.toCharArray();
        StringBuilder res =  new StringBuilder();
        for (int i = 0; i < cArr.length; i++) {
            // 原始位置
            int originalPos = cArr[i] - 'a';
            int newPos = 0;
            // 'a'
            if(originalPos == 0){
                newPos = 26 - n;
            }else{
			  //  x  y  z  a b c d e f g ...x   y  z
			  // -3 -2 -1  0 1 2 3 4 5 6 ...23 24  25
			  // 非'a',当originalPos = 3(也就是字母为d),n = 5时,3-5 = -2(字母y的位置,-2+26 = 24)
                newPos = originalPos - n < 0 ? originalPos - n + 26 : originalPos - n;
            }
            char c =  (char)(newPos+'a');
            res.append(c);
        }
        
        // zabc -> 1  = abcd
        //              0 1 2 3
        //逆向: 26-1 1-1 2-1 3-1
        return new String(res);

    }
}