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

Дешифратор II

Дешифратор II

Поширений, але не безпечний спосіб шифрування тексту полягає у тому, щоб переставити літери алфавіту. Тобто у тексті кожна літера замінюєтьсявідповідно на деяку іншу літеру. Щоб шифруванння було зворотнім, ніякі дві літери не замінюються на одну і ту ж літеру. Поширеним методом криптоаналізу є атака з відомим відткритим текстом. У цій атаці криптоаналітику вдається взнати деяку фразу або речення, зашифроване супротивником, після чого по зашифрованому тексту він знаходить метод кодування. Вам потрібно розшифрувати декілька рядків закодованого тексту, припускаючи, що кожен рядок використовує один і той же перестановочний набір літер, і що один з вхідних рядків містить код тексту \textbf{the quick brown fox jumps over the lazy dog} \InputFile Кожен тест складається з декількох рядків. Зашифровані рядки містять лише прописні буквы і пропуски і не перевищують по довжині \textbf{80} символів. Вхідні дані містять не більше \textbf{100} рядків. \OutputFile Між вихідними даними послідовних тестів слід виводити порожній рядок. Для кожного тесту необхідно вивести наступну інформацію. Рошифруйте кожен рядок і виведіть його Якщо існує декілька можливих способів декодування (декілька рядків можуть бути декодовані у ключове речення), то використовуйте перший знайдений рядок для декодування. Якщо розшифровка неможлива, виведіть у окремому рядку \textbf{No solution.}
Ліміт часу 10 секунд
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
vtz ud xnm xugm itr pyy jttk gmv xt otgm xt xnm puk ti xnm fprxq
xnm ceuob lrtzv ita hegfd tsmr xnm ypwq ktj
frtjrpgguvj otvxmdxd prm iev prmvx xnmq
Вихідні дані #1
now is the time for all good men to come to the aid of the party
the quick brown fox jumps over the lazy dog
programming contests are fun arent they