# 20240917
s= input().split()
#print(s)
ss = ''.join(s)
#print(ss)
ls1 = []
ls2 = []
for i in range(len(ss)):
    if i%2 == 0:
        ls2.append(ss[i])
    else:
        ls1.append(ss[i])
ls1.sort()
ls2.sort()
#print(ls1)
#print(ls2)
ls3 = []
for i in range(len(ss)):
    if i%2 == 0:
        ls3.append(ls2[i//2])        # 理解一下此处添加的位置为什么是i//2
    else:
        ls3.append(ls1[i//2])        # 理解一下此处添加的位置为什么是i//2
#print(*ls3)
s3 = ''.join(ls3)
#print(s3)
#print(type(s3))
s4 = ''
for i in s3:
    if i.isdigit() or ord('0') <= ord(i) <= ord('9') or ord('A') <= ord(i) <= ord('F') or ord('a') <= ord(i) <= ord('f'):
        t = (bin(int(i,16))[2:].zfill(4))[::-1]
        tt = (hex(int(t,2))[2:]).upper()
        s4 += tt
    else:
        s4 += i
print(s4)