mesaj

Așa cum știm, lui Gigel îi place să se joace cu cifrele și cu literele. De data asta a "inventat" o nouă metodă de criptare a mesajelor pe care vrea să le transmită prietenului său, Ionel. Metoda lui se bazează pe înlocuirea literelor alfabetului cu alte litere conform unei chei de criptare.
Astfel el stabilește un cuvânt cheie, format din maxim 26 litere mari distincte.
Construiește apoi un tabel cu 26 poziții și pune cuvântul cheie într-o poziție oarecare k din tabel. Poziția aceasta o numește poziție cheie.
În continuarea cuvântului cheie pune, în ordine, literele alfabetului care nu apar în cuvântul cheie, având grijă ca atunci când a ajuns la poziția 26 să continue cu poziția 1 din tabel. Gigel obține astfel cheia de criptare formată din 26 caractere. De exemplu, pentru cuvântul cheie IONESCU și poziția cheie k=9 în care acesta se pune în cheia de criptare se obține:

Q R T V W X Y Z I O N E S C U A B D F G H J K L M P
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Acum codificarea este simplă. Fiecare literă din cheia de criptare corespunde unei litere din alfabet, deci Gigel ia fiecare literă a mesajului pe care vrea să-l transmită, o caută în alfabet și o înlocuiește cu litera corespunzătoare din cheia de criptare.

Cerință
Fiind dat cuvântul cheie, poziția cheie în care acesta se pune în cheia de criptare și un text criptat având mai multe linii, să se realizeze decriptarea textului respectiv.

Date de intrare
Fișierul de intrare mesaj.in conține pe prima linie cuvântul cheie. Pe linia a doua se găsește poziția cheie. Următoarele linii conțin textul criptat, fiecare linie având maxim 255 caractere.

Date de ieșire
Fișierul de ieșire mesaj.out conține textul decriptat, fiecare linie din text corespunzând liniei respective din mesajul criptat.

Restricții și precizări
- liniile textului au maxim 255 caractere
- textele sunt formate doar din litere mari ale alfabetului englez
- cuvântul cheie are maxim 26 litere
- poziția cheie este un număr natural k, 1 <= k <= 26
- cheia de criptare are exact 26 caractere, litere mari ale alfabetului englez

Exemplu

mesaj.in mesaj.out

CAMPION
11
YPQSUDEQPOBUWQEYBUQOUSQMOYIPDUGQVQSUOBYPUGQAFQBUIPAYPU

INACESTANPREGATIREAPECAMPIONSEVAFACEPRINEVALUAREONLINE

Timp maxim de execuție/test: 0.1 secunde

prof. Marinel Șerban
Liceul de Informatică "Gr. C. Moisil" Iași
marinel_serban@yahoo.com