#6460. 熊与字符串距离

熊与字符串距离

C. 熊与字符串距离
每个测试的时间限制:11
内存限制:256256 兆字节

Limak 是一只小北极熊。他喜欢“好”字符串——长度为 nn,仅由小写英文字母组成的字符串。

两个字母之间的距离定义为它们在字母表中位置的差的绝对值。例如,d(’a’,’z’)=25d(\text{'a'}, \text{'z'}) = 25d(’c’,’e’)=2d(\text{'c'}, \text{'e'}) = 2

两个好字符串之间的距离定义为对应位置字母距离之和。例如,$d(\text{"ab"}, \text{"za"}) = d(\text{'a'}, \text{'z'}) + d(\text{'b'}, \text{'a'}) = 25 + 1 = 26$。

Limak 给你一个好字符串 ss 和一个整数 kk。他要求你找到一个好字符串 ss',使得 d(s,s)=kd(s, s') = k。输出任意满足条件的 ss',如果不可能则输出 1-1

由于输入/输出可能非常大,建议使用快速的输入输出方法:例如在 C++ 中优先使用 gets/scanf/printf 而不是 getline/cin/cout;在 Java 中优先使用 BufferedReader/PrintWriter 而不是 Scanner/System.out

输入
第一行包含两个整数 nnkk1n1051 \le n \le 10^50k1060 \le k \le 10^6)。
第二行包含一个长度为 nn 的字符串 ss,由小写英文字母组成。

输出
如果没有满足条件的字符串,则输出 1-1(不带引号)。
否则,输出任意一个好字符串 ss',使得 d(s,s)=kd(s, s') = k

样例

输入

4 26
bear

输出

roar

输入

2 7
af

输出

db

输入

3 1000
hey

输出

-1