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