while True:
    try:
        a = input() # 输入的字符串

        # step 1 
        out1 = a.replace(' ','') #第一步 将空格转换为空则完成步骤一

        # step 2 # 第二步 按照除以2余数分奇数偶数分别分成两个列
        ji = ''
        ou = ''
        for i in range(len(out1)):
            if i%2==0: # 奇数
                ou+=out1[i]   
            else: # 偶数
                ji+=out1[i]
		# 对奇偶列分别排序
        ou2 = sorted(ou)
        ou2_idx = 0
        ji2 = sorted(ji)
        ji2_idx = 0
		# 新建空字符,再次遍历,依次将奇偶列中元素按次序组合形成output2
        out2=''
        for i in range(len(out1)):
            if i%2==0: # 奇数
                out2 += ou2[ou2_idx]
                ou2_idx +=1  
            else: # 偶数
                out2 += ji2[ji2_idx]
                ji2_idx +=1

        # step 3

		
        for each in out2:
            if each in 'ABCDEFabcdef0123456789': # 注意不能用isalpha因为并非全部字母!
                two = bin(int(each,16))[2:] # 16进制转10进制再转2进制,扣除进制符号的前缀
                two = two.zfill(4) # 由于是16进制的单个需要4位的2进制才够,也如例中4位,那么这里就需要对其扣掉0b的部分往前补0,补满4位
                two = two[::-1] # 倒序
                two = format(int(two,2),'x').upper() # 这里填补或不填补的字符表达的2进制数,可以用format直接转成16进制的字符,再对其大写

                print(two,end='') #对需要改写的最终结果输出并以空字符链接下一个输出
            else:
                print(each,end='') #对不需要改写的输出本身并以空字符链接下一个输出
    except:
        break