while True:# 牛课网HJ30 字符串合并处理
try:
s = list(input().replace(" ", "")) # 第一步:将输入的两个字符串str1和str2进行前后合并把空格去掉并且变成list
s[::2] = sorted(s[::2])#
s[1::2] = sorted(s[1::2]) # 第二步直接奇数位偶数位排序 只有变成list才能排对合并后的字符串进行排序,要求为:下标为奇数的字符和下标为偶数的字符分别从小到大排序。
# 第三步对排序后的字符串中的'0'~'9'、'A'~'F'和'a'~'f'字符,需要进行转换操作。转换字符
res = ""
for i in s:
if "0" <= i <= "9" or "a" <= i <= "f" or "A" <= i <= "F":
b = bin(int(i, 16))[2:] # 注意bin返回的有0b二进制的前缀
# 不够四位要补0
b = b.zfill(4)
b = b[::-1]
b = hex(int(b, 2))[2:].upper()#hex 是搞成16进制的带0X需去掉
res += b
else:
res += i
print(res)
except:
break