Олимпиадный тренинг

Задача . C. Медведь и расстояние между строками


Лимак — маленький полярный медведь. Ему нравятся красивые строки — строки длины n, состоящие из маленьких английских букв.

Расстоянием между двумя буквами будем называть разницу их позиций в алфавите. Например, , а .

Определим расстояние между двумя красивыми строками как сумму расстояний соответствующих букв. Например, , а .

У Лимака есть красивая строка s и целое число k. Вам требуется найти любую красивую строку s' такую, что или определить, что такой строки не существует.

Рекомендуется для ввода и вывода данных использовать функции gets, scanf, printf в языке C++, поскольку они работают значительно быстрее чем getline, cin, cout. Аналогично, рекомендуется использовать классы BufferedReader, PrintWriter вместо Scanner, System.out в языке Java.

Входные данные

В первой строке находится пара целых чисел n и k (1 ≤ n ≤ 105, 0 ≤ k ≤ 106).

Во второй строке находится строка s длины n, состоящая из строчных английских букв.

Выходные данные

Если не существует строки s', удовлетворяющей условиям задачи выведите "-1" (без кавычек).

В противном случае, выведите любую красивую строку s' такую, что .


Примеры
Входные данныеВыходные данные
1 4 26
bear
roar
2 2 7
af
db
3 3 1000
hey
-1

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя