import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 用数组标记 字母对应下标 ('z'-'a' 求下标) 是否出现过
int[] zmInt = new int[26];
String s = in.next();
char[] chars = s.toCharArray();
char[] newChars = new char[26];
int start = 0;
// 1.去除字符串中重复出现的字母
for (char aChar : chars) {
int index = aChar - 'a';
// 如果对应字母下标 为1,说明重复了
if (zmInt[index] == 1) {
continue;
}
zmInt[index] = 1;
newChars[start++] = aChar;
}
char from = 'a';
// 2. 在去重后的字符后面 依照字母表顺序补上没出现的字母
while (from <= 'z') {
// 如果当前字母没有出现过
if (zmInt[from - 'a'] != 1) {
newChars[start++] = from;
}
from++;
}
String t = in.next();
char[] tChars = t.toCharArray();
// 对 t 进行加密
// 比如 待加密字符串第一个之母为 t
// 那么他对应下标为 't'-'a', 在上面得出的加密 newChars 里对应下标的字母假设是 'c'
// 那么 加密之后的第一个字母就改为 c
for (int i = 0; i < tChars.length; i++) {
tChars[i] = newChars[tChars[i] - 'a'];
}
System.out.println(new String(tChars));
}
}