Time limit 2000/4000/4000/4000 ms. Memory limit 65000/65000/65000/65000 Kb.
Шифр Хилла — полиграммный шифр подстановки, основанный на линейной алгебре. Лестер С. Хилл изобрел этот шифр в 1929, и это был первый шифр, который позволял на практике (хотя и с трудом) оперировать более чем с тремя символами за раз.
Каждой букве сперва сопоставляется число. Для латинского алфавита часто используется простейшая схема: A = 0, B =1, ..., Z=25.
Данная строка разбивается на блоки длинной N(пробелы и знаки препинания удаляются) и каждый блок из N букв рассматривается как n-мерный вектор и умножается на N*N матрицу по модулю 26.
Входные данные
Первая строка содержит число n (2 <= N <= 6) — длина блоков
Вторая строка содержит ключ в буквенном виде длиной N*N
Третья строка — это строка которую надо зашифровать s.
Выходные данные
Выведите одну строку длиной S символов — зашифрованное сообщение.
Примеры
Входные данные | Выходные данные |
3 GYBNQKURP DOG | WLY |
3 GYBNQKURP GOD | LUN |
Для отправки решений необходимо выполнить вход.
|