#include <stdio.h>
#include <string.h>
#include <ctype.h>
int reverse(int num)
{
int i,count=0,arr[4]={0},new_n=0;//十六进制4位
while(num)
{
arr[count]=num%2;
count++;
num=num/2;
}
int temp=1;
for(i=3;i>=0;i--)
{
new_n=arr[i]*temp+new_n;
temp=temp*2;
}
return new_n;
}
int main() {
int i,j;
char ch,str1[1000],str2[1000];
scanf("%s",str1);
scanf("%s",str2);
strcat(str1,str2);
for(i=0;i<strlen(str1)/2;i++)
{
for(j=0;j<strlen(str1)/2;j++)
{
if(str1[2*j]>str1[2*j+2]&&2*j+2<strlen(str1))
{
ch=str1[2*j];
str1[2*j]=str1[2*j+2];
str1[2*j+2]=ch;
}
if(str1[2*j+1]>str1[2*j+3]&&2*j+3<strlen(str1))
{
ch=str1[2*j+1];
str1[2*j+1]=str1[2*j+3];
str1[2*j+3]=ch;
}
}
}
// printf("%d",reverse(10));
int num;
for(i=0;i<strlen(str1);i++)
{
if(isdigit((int)str1[i]))
{
num=str1[i]-'0';//十进制数
printf("%X",reverse(num));
}
else if(str1[i]>='a'&&str1[i]<='f'||str1[i]>='A'&&str1[i]<='F')
{
char ch=toupper((int) str1[i]);//转换成大写
num=ch-'A'+10;//转十进制数
printf("%X",reverse(num));
}
else
printf("%c",str1[i]);
}
return 0;
}