Восстановление повторяющегося ключа

Просмотр в формате PDF

Submit solution

Очки: 100
Ограничение по времени: 2.0s
Ограничение по памяти: 256M

Problem type
Allowed languages
C++, Python

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

  • исходный текст сообщения;
  • получившийся шифр в виде последовательности байтов.

Требуется восстановить само ключ-слово.

Гарантируется, что восстановленный ключ состоит из печатных ASCII-символов.

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

В первой строке задано целое число m — длина ключа.

Во второй строке задан исходный текст — строка из печатных ASCII-символов без пробелов. Ее длина не меньше m.

В третьей строке заданы байты шифра — целые числа от 0 до 255, записанные через пробел. Количество чисел совпадает с длиной исходного текста.

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

Выведите ключ-слово — строку из m печатных ASCII-символов.

Ограничения

  • 1 <= m <= 100
  • длина исходного текста от m до 100000
  • каждый байт шифра находится в диапазоне от 0 до 255

Примеры

Пример 1

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

1
A
96

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

!
Пример 2

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

3
ABCDXYZ
10 39 58 15 61 32 17

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

Key

Комментарии

Еще нет ни одного комментария.