#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;
}