В певний час для кодування інформації використовувалася досить проста схема — обертання та зміщення символів в алфавіті. Одним із таких методів була схема ROT13, де символи A-Z зміщувалися на позицій. Ця схема широко застосовувалася для "приховування" даних у багатьох програмах з кінця 1990-х до початку 2000-х років.
Компанія Insecure Inc. отримала завдання створити алгоритм, який би "покращив" цю схему шляхом спочатку звернення, а потім обертання. Наприклад, застосуємо алгоритм до рядка ABCD зі зверненням та обертанням на : після звернення отримаємо DCBA, а після обертання на позицію отримаємо EDCB.
Вам потрібно реалізувати цю схему кодування для рядків, що містять лише великі літери, символи нижнього підкреслення та точки. Обертання слід виконувати згідно з наступним алфавітним порядком:
ABCDEFGHIJKLMNOPQRSTUVWXYZ_.
Символ нижнього підкреслення йде після Z, а точка йде після нижнього підкреслення. Обертання вперед на означає, що 'A' буде замінено на 'B', тобто 'A' → 'B', 'B' → 'C', ..., 'Z' → ' _ ', ' _ ' → '.' і '.' → 'A'. Аналогічно, обертання на означає 'A' → 'D', 'B' → 'E', ..., '.' → 'C'.
Кожен рядок містить ціле число і рядок символів. Число (1 \leq n \leq 27) вказує на кількість позицій, на яку здійснюється обертання вперед. Рядок представляє повідомлення, яке потрібно закодувати, і містить від до символів, серед яких великі літери, нижні підкреслення та точки. Останній рядок містить і означає кінець вхідних даних.
Для кожного тесту виведіть в окремому рядку "закодоване" повідомлення після виконання звернення та обертання.
Приклад 1