#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;

int main(){
    string key_str;
    string secret_str;
    cin >> key_str;
    cin >> secret_str;
    int arr[26] = {0};
    int key_len = key_str.size();
    vector<char> vec;
    vector<char> vec_out;
    for(int i = 0; i < key_len; i++){
        if(find(vec.begin(),vec.end(),key_str[i]) == vec.end()){
            vec.push_back(key_str[i]);          
        }       
    }
    int vec_length = vec.size();
    for(int i = 0; i < vec_length; i++){//统计key中出现了哪些字母
        arr[(vec[i] - 'a')]++;
    }
    
    for(int i = 0; i < 26; i++){//将没出现过的字母按顺序加入vec
        if(arr[i] == 0){
            vec.push_back(i+'a');
        }
    }
    
    int secret_length = secret_str.size();//加密字符串与字母表去对应
    for(int i = 0; i < secret_length; i++){
        vec_out.push_back(vec[secret_str[i]-'a']);
    }
    
    //输出
    for(int i = 0; i < vec_out.size(); i++){
        cout << vec_out[i];
    }
}