#include #include char key[2000]; char msg[200000]; void rmnl(char *s) { while (*s) { if (*s == '\n') { *s = 0; break; } s++; } } int main(void) { int keylen, msglen, i; while (1) { fgets(key, 2000, stdin); if (key[0]=='0') break; fgets(msg, 200000, stdin); rmnl(key); keylen = strlen(key); msglen = strlen(msg); for (i=0; i 'Z' || msg[i] < 'A') continue; /*printf("%d",i%keylen);*/ msg[i] = (msg[i] - 'A' + key[i%keylen] - 'A' + 1) % 26 + 'A'; } fputs(msg, stdout); } return 0; }