Арне Сакнуссемм
Слідом за розповіддю Жюля Верна, зашифроване повідомлення, створене середньовічним алхіміком Арне Сакнуссемом і розшифроване професором Ліденброком, стало початком неймовірної подорожі до центру Землі. Процес шифрування, який використовував Арне, подібний до описаного нижче.
1. Візьміть непорожнє повідомлення M, яке містить літери англійського алфавіту, цифри, коми, крапки, лапки, пробіли та рядки, причому останній символ не є пробілом. Наприклад, розгляньте наступне повідомлення, переклад якого звучить як "У кратері Снеффельса спускайся, сміливий мандрівнику, і торкнися центру Землі".
In Sneffels craterem descende audasviator, et terrestre centrum attinges.
2. Виберіть ціле число K і додайте пробіли в кінці M так, щоб довжина отриманого повідомлення, скажімо M', була найменшим кратним K. Для K=19 і наведеного вище повідомлення, де length(M)=74 (включаючи 8 пробілів і рядок, які містить M), додаються два пробіли в кінці, що дає повідомлення M' з length(M')=76.
3. Замініть усі пробіли в M' на символ підкреслення (_); замініть усі рядки в M' на зворотний слеш (), а потім переверніть повідомлення. У нашому випадку:
__.segnitta_murtnec_ertserret_te_,rotaiv\sadua_ednecsed_meretarc_sleffenS_nI
4. Запишіть повідомлення, отримане на кроці 3, у таблицю з length(M')/K рядками та K стовпцями. Запис ведеться по стовпцях. Для даного прикладу повідомлення записується в таблицю з 76/19=4 рядками та 19 стовпцями наступним чином:
5. Рядки символів, що відповідають рядкам таблиці, є фрагментами зашифрованого повідомлення. Чотири фрагменти повідомлення Арне, наведені на кроці 1, є:
Напишіть програму, яка розшифровує непорожні повідомлення, зашифровані, як описано. Довжина повідомлення до шифрування становить не більше 1000 символів, включаючи пробіли та рядки.
Вхідні дані
Вхід програми здійснюється з текстового файлу, де кожен набір даних відповідає зашифрованому повідомленню. Набір даних починається з цілого числа n, яке показує кількість фрагментів зашифрованого повідомлення, і продовжується n рядками символів, які позначають фрагменти, у порядку, в якому вони з'являються в таблиці з кроку 4 процедури шифрування. Вхідні дані розділені пробілами та закінчуються кінцем файлу.
Вихідні дані
Розшифроване повідомлення має бути надруковане на стандартний вихід, з початку рядка і має бути відокремлене порожнім рядком, як показано у зразку введення/виведення нижче.