eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Вращение обращения

Вращение обращения

Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB

В одно время для кодирования информации использовалась довольно упрощенно схема - вращение и перезаписывание символов в алфавите. Одним из таких вариантов была схема ROT13, в которой символы A-Z поворачивались на 13 позиций, причем это была широко используемая небезопасная схема, которая пыталась "скрыть" данные во многих приложениях с конца 1990-х и до начала 2000-х годов.

Задачей Insecure Inc. было создать алгоритм, который бы "улучшил" представленную схему сначала обращением, а затем вращением. Например, применим алгоритм к строке ABCD с обращением и вращением на 1: после обращения получим DCBA, а после вращения на 1 позицию получим EDCB.

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

ABCDEFGHIJKLMNOPQRSTUVWXYZ_.

Символ нижнего подчеркивания следует за Z, точка следует за нижним подчеркиванием. Вращение вперед на 1 означает что 'A' будет заменено на 'B', то есть 'A' → 'B', 'B' → 'C', ..., 'Z' → ' _ ', ' _ ' → '.' и '.' → 'A'. Точно также поворот на 3 означает 'A' → 'D', 'B' → 'E', ..., '.' → 'C'.

Вхідні дані

Каждая строка содержит целое число n и строку символов. Число n (1n27) обозначает количество позиций, на которое происходит вращение вперед. Строка представляет собой сообщение, которое следует закодировать, оно содержит от 1 до 40 символов, среди которых буквы верхнего регистра, нижние подчеркивания и точки. Последняя строка содержит 0 и означает конец входных данных.

Вихідні дані

Для каждого теста вывести в отдельной строке "закодированное" сообщение после выполнения вращения и сдвига.

Приклад

Вхідні дані #1
1 ABCD
3 YO_THERE.
1 .DOT
14 ROAD
9 SHIFTING_AND_ROTATING_IS_NOT_ENCRYPTING
2 STRING_TO_BE_CONVERTED
1 SNQZDRQDUDQ
0
Вихідні дані #1
EDCB
CHUHKWBR.
UPEA
ROAD
PWRAYF_LWNHAXWH.RHPWRAJAX_HMWJHPWRAORQ.
FGVTGXPQEAGDAQVAIPKTVU
REVERSE_ROT
Джерело 2014 ACM North America, Mid-Central, Problem G