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

Задача . A. Циклический сдвиг букв


Вам дана непустая строка s, состоящая из строчных букв английского алфавита. Требуется ровно один раз выбрать в s непустую подстроку и сдвинуть её буквы по циклу: «z» «y» «x» «b» «a» «z», то есть заменить каждую букву подстроки на предыдущую в английском алфавите (а букву «a» на букву «z»).

Требуется определить, какую лексикографически минимальную строку можно получить после выполнения ровно одного сдвига?

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

В первой строке входных данных записана строка s (1 ≤ |s| ≤ 100 000), состоящая из строчных букв английского алфавита.

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

Выведите лексикографически минимальную строку, которую можно получить из s, сдвинув ровно одну непустую подстроку.

Примечание

Строка s называется лексикографически меньшей, чем строка t такой же длины, если существует такое 1 ≤ i ≤ |s|, что s1 = t1, s2 = t2, ..., si - 1 = ti - 1, а si < ti.


Примеры
Входные данныеВыходные данные
1 codeforces
bncdenqbdr
2 abacaba
aaacaba

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

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