Mistrzostwa Polski Szkół Średnich w Programowaniu Zespołowym 2024

2020-2022 2023 Regulations Schedule RODO info Ranking

Problem description


Sklep terrarystyczny
(sklep-terrarystyczny)
Limit pamięci: 32 MB
Limit czasu: 1.00 s

Porucznik Archibald zarządził podsłuch podejrzanego o szmugiel nielegalnych okazów sklepu terrarystycznego, położonego w okolicy jego posterunku. Od tygodnia jednak nie jest w stanie rozgryźć części przechwytywanej komunikacji. Porucznik spędził sporo czasu na konsultacjach ze specjalistami od szyfrów i próbach znalezienia jakichkolwiek metod, których mogliby używać terraryści. Płazy okazały się ślepą uliczką, ostatecznie jednak Archibald przypomniał sobie o istnieniu szyfru Gaderypoluki. Jest to bardzo prosta technika, kto jednak powiedział, że trudniący się przemytem terraryści muszą być specjalistami kryptografii?

Gaderypoluki to nieskomplikowany szyfr, często stosowany w harcerstwie. Klucz szyfrowania (niepusty, o parzystej długości, złożony z parami różnych liter) dzieli się na pary sąsiednich znaków. Dla każdego analizowanego znaku z tekstu jawnego poszukiwany jest on w kluczu. W przypadku znalezienia, jest on zamieniany na drugi znak z pary w kluczu. Jeśli zaś znak tekstu nie występuje w kluczu, pozostawiany jest bez zmian. Proces deszyfracji przebiega, oczywiście, identycznie. Inspektor zakłada, że kluczem szyfrowania zawsze jest GADERYPOLUKI. Zatem litera G jest w parze z literą A, litera E z literą D itd. Przykładowo, wiadomość JADOWITEWEZE zostanie wówczas zakodowana jako JGEPWKTDWDZD. Ze względu na ilość danych, Archibaldowi zależy na automatyzacji procesu deszyfrowania.

Napisz program, który: wczyta ciąg znaków będących zaszyfrowanym tekstem, wyznaczy tekst jawny z którego powstał i wypisze wynik na standardowe wyjście.

Wejście

W pierwszym i jedynym wierszu wejścia znajduje się niepusty ciąg złożony z wielkich liter alfabetu angielskiego, stanowiący przechwyconą przez porucznika wiadomość.

Wyjście

W pierwszym i jedynym wierszu wyjścia należy wypisać ciąg złożony z wielkich liter alfabetu angielskiego, będący dekodowaniem ciągu podanego na wejściu.

Ograniczenia

Długość ciągu z wejścia nie przekracza 1 000 000 znaków.

Przykład

Wejście Wyjście
ZMKJG
ZMIJA
Wejście Wyjście
JGJPZRWPYPENPSC
JAJOZYWORODNOSC