#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main() {
char key[101];
char plaintext[101];
// 首先读取数据
scanf("%s", key);
scanf("%s", plaintext);
// 之后我们开始对key进行去重处理
char appear[26] = {0};
int len = strlen(key);
char *newkey = (char *)malloc((len + 1) * sizeof(char));
newkey[0] = '\0';
for(int i = 0; i < len; i++) {
// 如果之前没遇到过这个字母
if(appear[key[i] - 'a'] == 0) {
// 标记为遇到过了
appear[key[i] - 'a'] = 1;
// 加入我们的去重后key(newkey)中
strncat(newkey, &key[i], 1);
}
}
// 去重完成之后,我们需要建立一个密码表
char *cipher = (char *)malloc(26 * sizeof(char));
len = strlen(newkey);
strncat(cipher, newkey, len);
for(int i = 0 ; i < 26; i++) {
if(!appear[i]) {
char temp = 'a' + i;
strncat(cipher, &temp , 1);
}
}
cipher[26] = '\0';
// 建立完新的密码表我们开始对字符串进行加密
len = strlen(plaintext);
char ciphertext[len];
for (int i = 0; i < len; i++) {
ciphertext[i] = cipher[plaintext[i] - 'a'];
}
ciphertext[len] = '\0';
printf("%s\n", ciphertext);
return 0;
}