#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; char abeceda[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'}; int najdi(char znak) { int i; for(i=0; i<26; i++) if(znak == abeceda[i]) return i; return -1; } int main(void) { char m[26][26]; int i, ii, p1, p2; int prve, druhe; char s[200]; char a[100100]; // matica for(i=0; i < 26; i++) { for(ii=0; ii < 26; ii++) { m[i][ii] = abeceda[(ii+i+1) % 26]; } } while(1) { scanf("%s", s); if(s[0] == '0') break; scanf("%s", a); p1 = strlen(s); p2 = strlen(a); for(i=0; i < p2; i++) { druhe = najdi(a[i]); prve = najdi(s[i%p1]); printf("%c", m[prve][druhe]); } printf("\n"); } /* for(i=0; i < 26; i++) { for(ii=0; ii < 26; ii++) { printf("%c",m[i][ii]); } printf("\n"); } */ return 0; }