#include <string.h>
#include <math.h>

/* 按要求,asccii码大小排序 */ 
int sort_merge(char* str)
{
    int ret = 0;
    int len = strlen(str);
    for(int i = 0; i < len; i+=2)
    {
        for(int j = i; j < len; j+=2)
        {
            if(str[i] > str[j])
            {
                char temp = str[i];
                str[i] = str[j];
                str[j] = temp;
            }
            
            if(len - 1 != i && j+1 < len)
            {
                if(str[i+1] > str[j+1])
                {
                    char tmp = str[i+1];
                    str[i+1] = str[j+1];
                    str[j+1] = tmp;
                }
            }
        }
    }
    
//     printf("sort_merge = %s \n", str);
    
    return ret;
    
}

/* 字符串转换为十六进制 */
int char_to_hex(char ch)
{
    int ret = -1;
    if(ch >= 'A' && ch <= 'Z')
    {
        ret = ch - 'A' + 10;
    }
    else if(ch >= 'a' && ch <= 'z')
    {
        ret = ch - 'a' + 10;
    }
    else if(ch >= '0' && ch <= '9')
    {
        ret = ch - '0';
    }
    
    return ret;
}

char hex_to_char(int num)
{
    char ret = -1;
    if(num >= 10 && num <= 15)
    {
        ret = num + 'A' - 10;
    }
    else if( num >= 0 && num <= 9)
    {
        ret = num + '0';
    }
    
    return ret;
}

/* 二进制翻转 */
int hex_revese_to_char(int num)
{
    int ret = 0;
    int bit[4];
    
    /* 每次取模除2 得到整数的 二进制数据 */
    for(int j = 0; j < 4; j++)
    {
        bit[j] = num % 2;
        num /= 2;
        
    }
//     printf("bit = %d %d %d %d \n", bit[0], bit[1], bit[2], bit[3]);
    for(int k = 0; k < 4; k++)
    {
        ret += bit[3-k] * (int)pow(2 ,k);
    }
    
    return ret;
}

int reverse(char* str)
{
    int ret  = 0;
    int len = 0;
    len = strlen(str);
    
    int reverse_data[len];
    
    for(int i = 0; i < len; i++)
    {
        if((str[i] >= 'a' && str[i] <= 'f') 
               || (str[i] >= 'A' && str[i] <= 'F')
               || (str[i] >= '0' && str[i] <= '9'))
           {
                int hex = char_to_hex(str[i]);
                int reverse_hex = hex_revese_to_char(hex);
                str[i] = hex_to_char(reverse_hex);
//                 printf("hex = %d, revese_hex = %d, revese_data = %c \n", hex, reverse_hex, str[i]);
           }
        
    }
    
    return ret;
}

int main()
{
    char str1[201] = {0};
    char str2[101] = {0};
    scanf("%s %s", str1, str2);
    strcat(str1, str2);
    
    sort_merge(str1);
    reverse(str1);
    printf("%s\n", str1);
    
    return 0;
}