import java.util.*;
/**
* 【字符串加密】
*
* 描述:
* 有一种技巧可以对数据进行加密,它使用一个单词作为它的密匙。
* 下面是它的工作原理:首先,选择一个单词作为密匙,如TRAILBLAZERS。
* 如果单词中包含有重复的字母,只保留第1个,将所得结果作为新字母表开头,并将新建立的字母表中未出现的字母按照正常字母表顺序加入新字母表。如下所示:
* A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
* T R A I L B Z E S C D F G H J K M N O P Q U V W X Y (实际需建立小写字母的字母表,此字母表仅为方便演示)
* 上面其他用字母表中剩余的字母填充完整。在对信息进行加密时,信息中的每个字母被固定于顶上那行,
* 并用下面那行的对应字母一一取代原文的字母(字母字符的大小写状态应该保留)。
* 因此,使用这个密匙, Attack AT DAWN (黎明时攻击)就会被加密为Tpptad TP ITVH。
*/
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String key = sc.nextLine();
String text = sc.nextLine();
char[] chars = key.toCharArray();
// key去重
ArrayList<Character> arrayList = new ArrayList<>();
for (int i = 0; i < chars.length; i++) {
if (!arrayList.contains(chars[i])) {
arrayList.add(chars[i]);
}
}
// 补齐字母表
for (int i = 97; i <= 122; i++) {
if (!arrayList.contains((char) i)) {
arrayList.add((char) i);
}
}
// 建立映射关系
HashMap<Character, Character> hashMap = new HashMap<>();
for (int i = 0; i < arrayList.size(); i++) {
hashMap.put((char) (i + 97), arrayList.get(i));
}
// 打印输出
for (int i = 0; i < text.length(); i++) {
char charAt = text.charAt(i);
System.out.print(hashMap.get(charAt));
}
}
}