Cifrul Afin este un cifru unde fiecare literă este înlocuită cu o altă literă printr-o operație matematica. Fiecărei litere i se asociază un cod: a-0 , b-1 , c-2 , … z-25 . De asemenea, mai avem două numere a și b, numite chei. Fiecare literă se înlocuiește cu litera care are codul egal cu (a*x+b) mod 26 , unde x este codul literei. Pentru anumite perechi de numere a și b rezultatul expresiei (a*x+b) mod 26 poate fi același pentru valori diferite ale lui x; p pereche a b cu această proprietate se consideră ineficientă.
Cerinta
Dându-se valoarea celor două chei și un mesaj criptat să se afișeze mesajul decriptat. Dacă a și b formează o pereche ineficientă atunci se afișează mesajul -1.
Date de intrare
Fișierul de intrare afin1.in conține pe prima linie numerele a b iar pe a doua linie mesajul criptat.
Date de ieșire
Fișierul de ieșire afin1.out va conține pe prima linie mesajul decriptat sau numarul -1 daca a si b formeaza o pereche ineficienta.
Restricții și precizări
1 ≤lungimea mesajului≤ 10000
Exemplul 1:
afin1.in
17 20 fekhfmbabfkkh
afin1.out
twentyfifteen
Exemplul 2;
afin1.in
14 19 jvphxbxnzrtrldjplnzffdtvhbvhbnrzxpjrpnzlltfthbvdf
afin1.out
-1