Задача №113451. Шифровальный диск

Блок задач №2 (условия)

«Все пять разрядов шпионов работают, и
нельзя знать их путей. Это называется
непостижимой тайной. Они — сокровище для
государя» (Сунь Цзы, «Искусство войны»)

Для тайной переписки с агентами в других королевствах министры Его Величества Бубея Второго изобрели хитрое шифровальное устройство, которое представляет собой два диска, насаженных на одну ось. Каждый диск имеет 27 делений, подписанных заглавными буквами английского алфавита и пробелом.

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

На обоих дисках (большом и маленьком) буквы расположены в алфавитном порядке по часовой стрелке. Пробел расположен между буквами ‘A’ и ‘Z’. Маленький диск является подвижным и может поворачиваться вокруг своего центра. Шифрование сообщения происходит следующим образом: сначала выбирается начальное положение маленького диска (напротив какой буквы большого диска будет располагаться буква ‘A’ маленького). Затем определяется величина смещения N (целое, по модулю не превышает 26). Если N положительно, то во время шифрования диск будут вращать по часовой стрелке, если отрицательно, то против часовой стрелки на N делений.

Берется первый символ шифруемого текста и находится на маленьком диске. В шифровку записывается символ с большого диска, который сейчас расположен напротив данного. После этого маленький диск поворачивают и повторяют операцию для второго символа. Затем диск вновь поворачивают и так далее, пока сообщение не закончится.

Напишите программу для шифрования сообщений таким методом. В задаче можно использовать входной и выходной файлы или стандартный ввод и вывод (но не то и другое одновременно).

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

В первой строке файла input.txt записан символ, напротив которого находится буква ‘A’ маленького диска при начале шифрования. Во второй строке записано число \(N\), в третьей – исходное сообщение.

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

В файл output.txt выведите зашифрованное сообщение.

Примеры
Входные данные
A
1
AAAA
Выходные данные
ABCD
Входные данные
B
-1
AAAA
Выходные данные
BA Z
Сдать: для сдачи задач необходимо войти в систему