import java.util.*;
import java.io.*;
public class Main{
public static void ProcessingString(){
//直接储存十六进制反转对换表,此处不可缺少大写字母的对照biao
Map<Character,Character> map=new HashMap<Character,Character>();
map.put('0','0');
map.put('1','8');
map.put('2','4');
map.put('3','C');
map.put('4','2');
map.put('5','A');
map.put('6','6');
map.put('7','E');
map.put('8','1');
map.put('9','9');
map.put('a','5');
map.put('b','D');
map.put('c','3');
map.put('d','B');
map.put('e','7');
map.put('f','F');
map.put('A','5');
map.put('B','D');
map.put('C','3');
map.put('D','B');
map.put('E','7');
map.put('F','F');
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
String s1=sc.next();
String s2=sc.next();
char[] ch=(s1+s2).toCharArray(); //两个字符串合并成一个字符串,并将其转换为字符数组
//取出奇偶索引字符
char[] ch1=new char[ch.length/2]; //存放偶数位
char[] ch2=new char[ch.length-ch1.length]; //存放奇数位
for(int i=0,j=0,k=0;i<ch.length;i++){
//奇数
if((i+1)%2!=0){
ch2[j]=ch[i];
j++;
}
else{
//偶数
ch1[k]=ch[i];
k++;
}
}
//奇偶已存好,下面开始排序
Arrays.sort(ch1);
Arrays.sort(ch2);
//转换
for(int i=0,j=0,k=0;i<ch.length;i++){
//奇数字符
if((i+1)%2!=0){
ch[i]=map.getOrDefault(ch2[j],ch2[j]); //使用getOrDefault方法返回到指定键所映射的值
j++;
}
else{
//偶数字符
ch[i]=map.getOrDefault(ch1[k],ch1[k]);
k++;
}
}
String s=new String(ch);
System.out.println(s);
}
}
public static void main(String[] args){
ProcessingString();
}
}