Ana
si Bogdan isi trimit frecvent mesaje. Dorind ca mesajele lor sa ramana private,
ei le cripteaza in 3 pasi:
1. Eliminare. Elimina din mesaj toate caracterele nealfabetice si transforma
literele mici in litere mari.
2. Inlocuire. Inlocuiesc fiecare litera din mesaj cu litera situata in
alfabet cu s pozitii dupa ea
(1<=s<=25); alfabetul este
considerat circular, adica dupa Z
urmeaza din nou A.
3. Inversare. Sirul rezultat este impartit in segmente de cate m
litere, fiecare segment fiind inversat; daca lungimea sirului nu este divizibila
cu m, atunci ultimul segment
va fi format din k<m litere.
De
exemplu, sa consideram mesajul:
Ne vedem la ora 5 la
Universitate.
1. Eliminare
NEVEDEMLAORALAUNIVERSITATE
2. Inlocuire pentru s=2
PGXGFGONCQTCNCWPKXGTUKVCVG
3. Inversare pentru m=4
GXGPNOGFCTQCPWCNTGXKCVKUGV
Mama Anei este foarte curioasa si de fiecare data "trage cu ochiul"
cand Ana scrie mesaje reusind sa retina cate un cuvant din mesajul necriptat.
Cerinta
Scrieti un program care sa determine valorile s
si m, cunoscand mesajul criptat
si cuvantul necriptat aflat de mama Anei.
Date
de intrare
Fisierul de intrare decript.in
contine pe prima linie un numar natural n
reprezentand numarul de caractere din textul criptat. Urmatoarele linii contin
textul criptat, cate 10 grupe
de cate 5 caractere pe o linie
(grupele situate pe aceeasi linie fiind separate prin cate un singur spatiu).
Ultima grupa ar putea contine mai putin de 5
caractere (daca n nu este divizibil
cu 5). Ultima linie ar putea
contine mai putin de 10 grupe.
Ultima linie din fisier contine cuvantul necriptat.
Date
de iesire
Fisierul de iesire decript.out
va contine o singura linie pe care vor fi scrise doua numere naturale seprate
prin spatiu s si m
(cu semnificatia din enunt).
Restrictii
20 <= n <= 500
1 <= s <= 25
5 <= m <= 20
4 <= lungimea
cuvantului necriptat <= 20
Daca exista mai multe solutii,
se alege solutia pentru care s
este minim.
Daca exista mai multe solutii cu s minim, se alege solutia cu m
minim.
Pentru datele de test exista intotdeauna solutie.