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

int main() {
    string s, t;
    cin >> s;
    cin >> t;

    vector<char> arr;
// 记录 在字母表中 出现过的字母位置;
    vector<bool> arr_bool = vector<bool>(26, 0);

    for (char c : s) {
        // 将不重复的字符按顺序插入 arr中;
        if (find(arr.begin(), arr.end(), c) == arr.end()) {
            arr.push_back(c);
            arr_bool.at(c - 'a') = 1;
        }
    }

// 标记已经出现过的 字母
    for (char i = 0; i < 26; i++) {
        if (!arr_bool[i]) {
            arr.push_back(i + 'a');
        }
    }

    string result;
// 因为字母表和arr中的字符数量是一样的,通过下标直接对应到arr中的位置;
    for (char c : t) {
        int idx = c - 'a';
        result += arr[idx];
    }

    cout << result << endl;

}