注意:

下标为奇数的字符表示方法:s[1::2]

下标为偶数的字符表示方法:s[::2]

str.rjust(width[, fillchar]),width指定填充指定字符后中字符串的总长度,fillchar填充的字符,默认为空格。

返回一个原字符串右对齐,并使用fillchar填充至长度 width

hex_num = ['0', '1', '2', '3',
'4', '5', '6', '7',
'8', '9', 'a', 'b',
'c', 'd', 'e', 'f',
'A', 'B', 'C', 'D',
'E', 'F']
def bit_change(hc):#将他们代表的16进制的数进行BIT倒序的操作
ten = int(hc, 16)#表示该数为16进制
bc = format(ten, 'b').rjust(4,'0')#转为二进制数
bc = list(bc)#字数串转列表
bc.reverse()#二进制反转
bc = ''.join(bc)
ten = int(bc, 2)#二进制转十进制
hc = format(ten,'X')#十进制转16进制
return hc

while True:
try:
a,b=input().split()
s=list(a+b)
s[::2]=sorted(s[::2])#偶字符排序
s[1::2]=sorted(s[1::2])#奇字符排序
for i in range(len(s)):
if s[i] in hex_num:
s[i]=bit_change(s[i])
print(''.join(s))
except:
break