#include #include #include #include #include #include #include #include #include using namespace std; #define REP(i,a,b) for (int i = (a); i <= (b); ++i) #define FORI(i,n) REP(i,1,n) #define FOR(i,n) REP(i,0,int(n)-1) #define mp make_pair #define pb push_back #define pii pair #define vi vector #define ll long long #define SZ(x) ((int)(x.size())) #define IN(x,y) ((y).find((x)) != (y).end()) #define DBG(v) cerr << #v << " = " << (v) << endl; #define FOREACH(i,t) for (typeof (t.begin()) i = t.begin(); i != t.end(); i++) #define fi first #define se second char s[100007], text[100007]; char cipher (char a, char b) { char c = a + b - 'A' + 1; if (c > 'Z') c = c - 'Z' + 'A' - 1; return c; } int main () { /* DBG(cipher('A','A')) DBG(cipher('A','B')) DBG(cipher('A','Y')) DBG(cipher('A','Z')) DBG(cipher('B','Y')) DBG(cipher('Z','Z'))*/ while(1) { scanf("%s",s); if (strcmp(s,"0") == 0) break; int slen = strlen(s); scanf("%s", text); for (int i = 0; text[i]; ++i) { text[i] = cipher(text[i], s[i % slen]); } printf("%s\n",text); } return 0; }