Xenia the beginner mathematician is a third year student at elementary school. She is now learning the addition operation.

The teacher has written down the sum of multiple numbers. Pupils should calculate the sum. To make the calculation easier, the sum only contains numbers 1, 2 and 3. Still, that isn't enough for Xenia. She is only beginning to count, so she can calculate a sum only if the summands follow in non-decreasing order. For example, she can't calculate sum 1+3+2+1 but she can calculate sums 1+1+2 and 3+3.

You've got the sum that was written on the board. Rearrange the summans and print the sum in such a way that Xenia can calculate the sum.


-----Input-----

The first line contains a non-empty string s — the sum Xenia needs to count. String s contains no spaces. It only contains digits and characters "+". Besides, string s is a correct sum of numbers 1, 2 and 3. String s is at most 100 characters long.


-----Output-----

Print the new sum that Xenia can count.


-----Examples-----
Input
3+2+1

Output
1+2+3

Input
1+1+3+1+3

Output
1+1+1+3+3

Input
2

Output
2

Source: codeforces | Difficulty: EASY
Tags: String algorithms

Sorting

Implementation

Greedy algorithms


Solutions:
s = input().split('+')
a = []
for i in s:
	if i == '1':
		a.append(i)
for j in s:
	if j == '2':
		a.append(j)
for k in s:
	if k == '3':
		a.append(k)
print(*a, sep='+')


s = input()
(one, two, three) = [s.count(str(i)) for i in range(1, 4)]
sl = len(s)
ans = ''
for i in range(one):
	ans += '+'
	ans += '1'
for i in range(two):
	ans += '+'
	ans += '2'
for i in range(three):
	ans += '+'
	ans += '3'
print(ans[1:])


n = input().split('+')
n.sort()
print('+'.join(n))


s = list(map(int, input().split('+')))
s.sort()
out = str(s[0]) + '+'
for c in range(1, len(s)):
	out += str(s[c]) + '+'
print(out[:-1])


l = list(map(str, input().split('+')))
l.sort()
k = l[-1]
del l[-1]
for i in l:
	print(i + '+', end='')
print(k)


sum1 = input().strip()
n = len(sum1)
l = []
str1 = ''
for i in sum1[0::2]:
	l.append(int(i))
l.sort()
for i in range(len(l)):
	if i == 0:
		str1 += str(l[i])
	elif i > 0:
		str1 += '+' + str(l[i])
print(str1)


s = input()
lis = s.split('+')
lis.sort()
print('+'.join(lis))


s = input()
if len(s) == 1:
	print(s)
else:
	s1 = ''
	for i in range(len(s)):
		if s[i] != '+':
			s1 += s[i]
	s2 = sorted(s1)
	s2.sort()
	s3 = ''
	for item in range(len(s2)):
		if item != len(s2) - 1:
			s3 += s2[item] + '+'
		else:
			s3 += s2[item]
	print(s3)


sum = input().split('+')
sum.sort()
sorted_sum = ''
for i in range(len(sum)):
	sorted_sum += sum[i]
	if i < len(sum) - 1:
		sorted_sum += '+'
print(sorted_sum)


inp = input()
x = inp.split('+')
x.sort()
ans = []
ans.append(x[0])
str1 = '+'.join(x)
print(str1)


s = input()
arr = []
for i in range(len(s)):
	if s[i] != '+':
		arr.append(int(s[i]))
arr.sort()
s1 = ''
for i in range(len(arr)):
	s1 = s1 + str(arr[i])
	if i < len(arr) - 1 and len(arr) != 1:
		s1 = s1 + '+'
print(s1)


n = input()
n = n.replace('\r', '')
t = n.split('+')
t = [int(i) for i in t]
t.sort()
for i in range(0, len(t) - 1):
	print(t[i], end='')
	print('+', end='')
print(t[len(t) - 1])


def sort(sums):
	for i in range(1, len(sums), 1):
		temp = sums[i]
		for j in range(i - 1, -1, -1):
			if temp < sums[j]:
				(sums[j], sums[j + 1]) = (temp, sums[j])
	return sums
sums = input().split('+')
print('+'.join(sort(sums)))


numbers = list(map(int, input().split('+')))
numbers = sorted(numbers)
for i in range(len(numbers)):
	numbers[i] = str(numbers[i])
print('+'.join(numbers))


s = input()
operands = s.split('+')
operands.sort()
add = 0
for i in operands:
	add += int(i)
delimiter = '+'
print(delimiter.join(operands))


a = [input()]
b = []
while a[0].count('+') != 0:
	b.append(int(a[0][:a[0].find('+')]))
	a[0] = a[0][a[0].find('+') + 1:]
b.append(int(a[0]))
b.sort()
c = 0
while c < len(b) - 1:
	print(b[c], sep='', end='+')
	c += 1
print(b[c])


problem = input().split('+')
problem.sort()
print('+'.join(problem))


x = input()
l = []
for i in x:
	if i != '+':
		l.append(int(i))
l.sort()
s = ''
for i in l:
	s = s + str(i) + '+'
print(s[:-1])


lis = input().split('+')
lis1 = [int(x) for x in lis]
lis1.sort()
lis2 = [str(x) + '+' for x in lis1]
ch = ''
for i in range(len(lis2)):
	ch = ch + lis2[i]
ch = ch[:len(ch) - 1]
print(ch)


s = sorted(list(input().split('+')))
print(*s, sep='+')


n = input()
lista = []
s = ''
for i in n:
	if i != '+':
		lista.append(int(i))
lista.sort()
s = str(lista[0])
for i in range(1, len(lista)):
	s += '+' + str(lista[i])
print(s)


a = str(input(''))
b = a.split('+')
length = len(a)
c = sorted(b)
length1 = len(c)
i = 0
j = ''
for i in range(length1):
	if i < length1 - 1:
		j = j + c[i] + '+'
	elif i == int(length1 - 1):
		j = j + c[i]
print(j)


numbers = list(map(int, input().split('+')))
numbers.sort(reverse=False)
numbers = list(map(str, numbers))
print('+'.join(numbers))


s = input()
if '+' in s:
	s = s.split('+')
if len(s) == 1:
	print(s)
else:
	c1 = s.count('1')
	c2 = s.count('2')
	c3 = s.count('3')
	t = '1+' * c1 + '2+' * c2 + '3+' * c3
	print(t[:-1])


s = input()
l = []
for i in range(0, len(s), 2):
	l.append(s[i])
l.sort()
print('+'.join(l))


print('+'.join(map(str, sorted(input().split('+')))))


s = input()
(c1, c2, c3) = (0, 0, 0)
for i in s:
	if i == '1':
		c1 = c1 + 1
	elif i == '2':
		c2 = c2 + 1
	elif i == '3':
		c3 = c3 + 1
res = ''
for x in range(c1):
	res = res + '1+'
for x in range(c2):
	res = res + '2+'
for x in range(c3):
	res = res + '3+'
print(res[:-1])


s = input()
res = ''.join(sorted(s))
item = s.count('+')
l = len(s)
for i in range(item, l - 1):
	print(res[i], end='+')
print(res[l - 1])


x = str(input())
(a, b, c) = (0, 0, 0)
for i in x:
	if i == '1' or i == '1+':
		a += 1
	elif i == '2' or i == '2+':
		b += 1
	elif i == '3' or i == '3+':
		c += 1
k = '1+' * a + '2+' * b + '3+' * c
if k[-1] == '+':
	m = k[:-1]
	print(m)
else:
	print(k)


s1 = input()
s = sorted(s1)
s1 = ''
for i in s:
	s1 = s1 + i
k = s1.rfind('+')
s = s1[k + 1:]
print('+'.join(s))


string = input()
l = []
for i in string:
	if i != '+':
		l.append(i)
l.sort()
newstr = ''
for i in range(len(l)):
	if i != len(l) - 1:
		newstr += l[i]
		newstr += '+'
	else:
		newstr += l[i]
print(newstr)


a = []
n = input().split('+')
for i in n:
	if int(i) == 1:
		a.append('1')
for i in n:
	if int(i) == 2:
		a.append('2')
for i in n:
	if int(i) == 3:
		a.append('3')
print('+'.join(a))


s = input()
v = [0, 0, 0, 0]
for i in range(len(s)):
	if s[i] == '1':
		v[1] += 1
	elif s[i] == '2':
		v[2] += 1
	elif s[i] == '3':
		v[3] += 1
nr = 0
i = 0
for i in range(4):
	while v[i] > 0:
		print(i, end='')
		nr += 1
		if nr < len(s):
			print('+', end='')
			nr += 1
		v[i] -= 1


S = input()
X = []
for _ in S:
	if _ != '+':
		X.append(_)
X.sort()
print(X[0], end='')
for _ in range(1, len(X)):
	print('+', X[_], end='', sep='')


s = input()
l = s.replace('+', '')
p = sorted(l)
print('+'.join(p))


n = input()
l = []
for i in range(len(n)):
	if i % 2 == 0:
		l.append(n[i])
k = sorted(l)
for i in range(len(k) - 1):
	print(k[i], end='+')
print(k[-1])


s = input()
s = [s[i] for i in range(len(s)) if s[i] >= '0' and s[i] <= '9']
s.sort()
l = str()
for i in range(len(s)):
	l += s[i]
	if i < len(s) - 1:
		l += '+'
print(l)


st = input()
arr = []
for i in st:
	if i.isdigit():
		arr.append(i)
arr.sort()
print('+'.join(arr))


s = input()
n1 = n2 = n3 = 0
for i in range(0, len(s), 2):
	if s[i] == '1':
		n1 = n1 + 1
	elif s[i] == '2':
		n2 = n2 + 1
	else:
		n3 = n3 + 1
new_s = '1+' * n1 + '2+' * n2 + '3+' * n3
print(new_s[:-1])


s = input()
li = [int(i) for i in s.split('+')]
li.sort()
li = [str(i) for i in li]
print('+'.join(li))


s = input()
l = len(s)
arr = []
for i in range(l):
	if i % 2 == 0:
		arr.append(s[i])
arr.sort()
l = len(arr)
for i in range(l):
	if i == l - 1:
		print(arr[i], end='')
	else:
		print(arr[i] + '+', end='')


s = list(map(int, input().split('+')))
s.sort()
p = ''
for i in s:
	p += str(i)
	p += '+'
p = p[:-1]
print(p)


s = str(input())
numList = []
for x in s:
	if x != '+':
		numList.append(int(x))
string = ''
for x in sorted(numList):
	string += str(x) + '+'
print(string[0:len(string) - 1])


t = input()
n = 1
arreglo = list(t)
for i in arreglo:
	if i == '+':
		arreglo.remove('+')
arreglo.sort()
for i in range(len(arreglo)):
	arreglo.insert(n, '+')
	n += 2
arreglo.pop(len(arreglo) - 1)
print(''.join(arreglo))


x = input()
a = []
for i in range(0, len(x), 2):
	a += [int(x[i])]
for i in range(1, len(a)):
	temp = a[i]
	j = i - 1
	while j >= 0:
		if temp < a[j]:
			a[j + 1] = a[j]
			j -= 1
		else:
			break
		a[j + 1] = temp
for i in range(len(a)):
	if i < len(a) - 1:
		print(str(a[i]) + '+', end='')
	else:
		print(str(a[i]))


def Order(s):
	res = []
	i = 0
	while i < len(s):
		res.append(int(s[i]))
		i = i + 2
	j = 0
	res.sort()
	s1 = ''
	for i in range(len(res)):
		s1 = s1 + str(res[i]) + '+'
	return s1[:len(s1) - 1]
x = input()
print(Order(x))


s = list(map(int, input().split('+')))
s.sort()
print('+'.join(list(map(str, s))))


n = input()
n = n.split('+')
for i in range(0, len(n) - 1):
	for j in range(i + 1, len(n)):
		if int(n[j]) < int(n[i]):
			p = n[i]
			n[i] = n[j]
			n[j] = p
a = ''
for k in n:
	a = a + k + '+'
a = a[:-1]
print(a)


x = input('')
lst = []
lst = x.split('+')
lst.sort()
s = ''.join((e + '+' for e in lst))[:-1]
print(s)


s = input().split('+')
s.sort()
x = ''
for a in s:
	x += a + '+'
x = x[:len(x) - 1]
print(x)


n = input()
li = []
li2 = []
for i in range(len(n)):
	if i % 2 == 0:
		li.append(int(n[i]))
li = sorted(li)
for j in range(len(li)):
	if j == len(li) - 1:
		print(str(li[j]), end='')
	else:
		print(str(li[j]) + '+', end='')


x = input()
y = x.replace('+', ' ')
z = list(map(int, y.split()))
z.sort()
ans = ''
for a in z:
	ans = ans + str(a) + '+'
l = len(ans)
print(ans[0:l - 1])


c = input().split('+')
c.sort()
s = '+'
s = s.join(c)
print(s)


s = input()
t = s.split('+')
a = [0] * len(t)
for i in range(len(t)):
	a[i] = t[i]
a.sort()
ns = ''
for i in range(len(t)):
	ns += a[i]
	if i != len(t) - 1:
		ns += '+'
print(ns)


li = dict()
aa = input()
num = aa.split('+')
v = None
s = sorted(num)
for val in s:
	if v == None:
		v = val
	else:
		v = v + '+' + val
print(v)


p = input()
p = p.split('+')
p.sort()
print('+'.join(p))


n = input()
l = list(map(int, n.split('+')))
l.sort()
for i in range(len(l)):
	if i == 0:
		n = str(l[i])
	else:
		n = n + '+' + str(l[i])
print(n)


string = input()
if len(string) <= 1:
	print(string)
else:
	str_list = string.split('+')
	str_list.sort()
	new_string = '+'.join(str_list)
	print(new_string)


s = input()
unos = ''
dos = ''
tres = ''
for i in s:
	if i == '1':
		unos += i + '+'
	if i == '2':
		dos += '2' + '+'
	if i == '3':
		tres += '3' + '+'
presuma = unos + dos + tres
suma = presuma[:len(presuma) - 1]
print(suma)


t = map(int, input().split('+'))
x = [' ']
x.pop()
y = [' ']
y.pop()
for m in t:
	x.append(m)
x.sort()
for i in x:
	y.append(i)
	y.append('+')
y.pop()
str1 = ''.join((str(i) for i in y))
print(str1)


first = input()
another = sorted([i for i in first[::2]])
add = ''
length = len(another)
for i in range(length):
	if i == length - 1:
		add += '{}'.format(another[i])
	else:
		add += '{}+'.format(another[i])
print(add)


st = str(input())
ones = 0
twos = 0
threes = 0
for i in st:
	if i == '1':
		ones += 1
	elif i == '2':
		twos += 1
	elif i == '3':
		threes += 1
if ones > 0:
	print('1+' * (ones - 1), end='')
	if twos or threes:
		print('1+', end='')
	else:
		print('1', end='')
if twos > 0:
	print('2+' * (twos - 1), end='')
	if threes:
		print('2+', end='')
	else:
		print('2', end='')
if threes > 0:
	print('3+' * (threes - 1), '3', sep='', end='')


a = input().split('+')
a.sort()
ans = ''
for x in a:
	ans += x + '+'
print(ans[0:-1])


def Maths(s):
	a = []
	b = ['1', '2', '3']
	for i in range(len(s)):
		if s[i] in b:
			a.append(s[i])
	a.sort()
	a = ''.join(map(str, a))
	y = '+'.join('' + a)
	return y
s = input()
print(Maths(s))


from math import floor
input = list(map(int, input().split('+')))
input.sort()
str = ''
print(*input, sep='+')


a = list(input())
b = []
while a.count('+') != 0:
	a.remove('+')
while a.count('1') != 0:
	a.remove('1')
	b.append('1')
while a.count('2') != 0:
	a.remove('2')
	b.append('2')
while a.count('3') != 0:
	a.remove('3')
	b.append('3')
print('+'.join(b))


x = input()
k = []
for i in x:
	if i.isalnum() == True:
		k.append(i)
k.sort()
c = 0
for m in k:
	print(f'{m}', end='')
	c += 1
	if c < len(k):
		print('+', end='')
	else:
		break


def newSum(sumStr):
	newSumList = sumStr.split('+')
	newSumList.sort()
	return '+'.join(newSumList)
s = input()
print(newSum(s))


inp = input()
numbers = [int(x) for x in inp.split('+')]
numbers = sorted(numbers)
result = ''
for i in range(len(numbers)):
	currentElement = str(numbers[i])
	if i != len(numbers) - 1:
		result += currentElement + '+'
	else:
		result += currentElement
print(result)


i = input()
i = i.split('+')
i = sorted(i)
p = ''
for m in i:
	p = p + m + '+'
p = p[0:-1]
print(p)


s = str(input())
a = []
for i in range(0, len(s), 2):
	x = int(s[i])
	a.append(x)
a.sort()
s = str(a[0])
for i in range(1, len(a)):
	s = s + '+' + str(a[i])
print(s)


def prob339a(alist):
	alist.sort()
	alist = list(map(str, alist))
	return '+'.join(alist)
n = list(map(int, input().strip().split('+')))
result = prob339a(n)
print(result)


s = input().split('+')
s.sort()
a = '+'
a = a.join(s)
print(a)


s = input()
print('+'.join(sorted(s.split('+'))))


numPut = input('')
numPut = numPut.replace('+', '')
numPut = sorted(numPut)
numPut = '+'.join(numPut)
print(numPut)


t = input()
b = t.split('+')
s = str()
b.sort()
for (c, x) in enumerate(b):
	if c == 0:
		s += x
	else:
		s += '+' + x
print(s)


x = list(map(int, input().split('+')))
x.sort()
if len(x) <= 0:
	print(x[0])
else:
	for i in range(len(x) - 1):
		print(x[i], end='+')
	print(x[len(x) - 1])


x = input()
z = list(x)
z.sort()
y = z.count('+')
a = ''
for i in range(y, len(z)):
	a = a + z[i] + '+'
print(a[:len(a) - 1])


operadores = sorted(input().split('+'))
final = ''
for numero in operadores:
	final = final + numero + '+'
final_total = final[:len(final) - 1]
print(final_total)


l = []
x = list(map(int, input().split('+')))
x.sort()
for i in range(len(x)):
	if i == len(x) - 1:
		print(x[i])
		break
	print(x[i], end='')
	print('+', end='')


n = list(map(int, input().split('+')))
print('+'.join(sorted(list(map(str, n)))))


s = [i for i in input()]
nums = [int(s[i]) for i in range(0, len(s), 2)]
nums.sort()
print('+'.join((str(i) for i in nums)))


lis = list(map(int, input().split('+')))
for i in range(len(lis)):
	for j in range(len(lis) - 1):
		if lis[j] > lis[j + 1]:
			lis[j] = lis[j] + lis[j + 1]
			lis[j + 1] = lis[j] - lis[j + 1]
			lis[j] = lis[j] - lis[j + 1]
for i in range(len(lis)):
	lis[i] = str(lis[i])
print('+'.join(lis))


def func(a, b):
	for i in range(b):
		print(a, sep='', end='')
		if i != b - 1:
			print('+', sep='', end='')
	return
str = input()
c1 = c2 = c3 = 0
for i in range(0, len(str), 2):
	if str[i] == '1':
		c1 += 1
	elif str[i] == '2':
		c2 += 1
	else:
		c3 += 1
func(1, c1)
if c2 > 0 and c1 > 0:
	print('+', sep='', end='')
if c2 == 0 and c1 > 0 and (c3 > 0):
	print('+', sep='', end='')
func(2, c2)
if c3 > 0 and c2 > 0:
	print('+', sep='', end='')
func(3, c3)


t = input()
dic = {'1': 0, '2': 0, '3': 0}
for x in t:
	if x != '+':
		dic[x] = dic[x] + 1
s = ''
for (x, y) in dic.items():
	for _ in range(y):
		s = s + x + '+'
print(s[0:-1])


a = input()
b = a.count('1', 0, len(a))
c = a.count('2', 0, len(a))
d = a.count('3', 0, len(a))
f = []
u = '+'
for i in range(b):
	f.append(1)
for i in range(c):
	f.append(2)
for i in range(d):
	f.append(3)
m = [str(x) for x in f]
print(u.join(m))


s = input().split('+')
s.sort()
for i in range(1, len(s) + len(s) - 1, 2):
	s.insert(i, '+')
for i in s:
	print(i, end='')


input_sum = input().split('+')
string = ''
input_sum.sort()
for i in input_sum:
	if string == '':
		string = string + i
	else:
		string = string + '+' + i
print(string)


p = input()
q = p.replace('+', '')
r = sorted(q)
s = '+'.join(r)
print(s)


row = map(int, input().split('+'))
srtd_row = sorted(row)
answer = '+'.join(map(str, srtd_row))
print(answer)


s = input().strip()
d = []
for i in s:
	if i == '+':
		pass
	else:
		d.append(i)
d.sort()
for i in range(len(d) - 1):
	print(d[i], '+', sep='', end='')
print(d[len(d) - 1])


s = input()
s = sorted(s)
s1 = ''
s2 = ''
for i in range(len(s)):
	if s[i] != '+':
		s1 += s[i]
s1 = sorted(s1)
for i in s1:
	s2 += i + '+'
print(s2[:-1])


s = input()
l = s.split('+')
l.sort()
op = '+'
print(op.join(l))


S = input()
L = []
for i in range(len(S)):
	if S[i] in '+':
		continue
	else:
		L.append(S[i])
x = '+'
L.sort()
print(x.join(L))


word = list(input())
if len(word) == 1:
	print(str(word[0]))
else:
	num_list = []
	for loop in range(len(word)):
		if loop % 2 == 0:
			num_list.append(word[loop])
	num_list.sort()
	outlist = ''
	for out in range(len(num_list) - 1):
		outlist += str(num_list[out])
		outlist += '+'
	outlist += str(num_list[-1])
	print(outlist)


num = input().split('+')
num.sort()
print('+'.join(num))


s = input()
a = ''
for i in range(len(s)):
	if s[i] == '1':
		a = a + s[i] + '+'
for i in range(len(s)):
	if s[i] == '2':
		a = a + s[i] + '+'
for i in range(len(s)):
	if s[i] == '3':
		a = a + s[i] + '+'
n = len(a)
a = a[0:n - 1]
print(a)


nums = list(input().split('+'))
nums.sort()
[print(x, end='+') for x in nums[0:len(nums) - 1]]
print(nums[-1])


string = input().lower()
noOf1s = string.count('1')
noOf2s = string.count('2')
noOf3s = string.count('3')
totalNoOfNumbers = noOf1s + noOf2s + noOf3s
output = ''
for index in range(totalNoOfNumbers):
	if noOf1s > 0:
		output += '1+'
		noOf1s -= 1
		continue
	if noOf2s > 0:
		output += '2+'
		noOf2s -= 1
		continue
	if noOf3s > 0:
		output += '3+'
		noOf3s -= 1
		continue
print(output[:-1])


s = input().split(sep='+')
s.sort()
for i in range(len(s)):
	if i + 1 == len(s):
		print(s[i])
	else:
		print(s[i], end='+')


equation = input().split('+')
counts = [0, 0, 0]
i = 1
while i <= 3:
	counts[i - 1] = equation.count(str(i))
	i += 1
output = ''
for j in range(3):
	for k in range(counts[j]):
		output += str(j + 1) + '+'
print(output[:-1])


s = input()
a = s.count('1')
b = s.count('2')
c = s.count('3')
l = [a, b, c]
s = '1+' * a + '2+' * b + '3+' * c
print(s[0:-1:1])


s = input()
count1 = 0
count2 = 0
count3 = 0
for i in range(0, len(s), 2):
	if s[i] == '1':
		count1 += 1
	if s[i] == '2':
		count2 += 1
	if s[i] == '3':
		count3 += 1
summ = '1+' * count1 + '2+' * count2 + '3+' * count3
print(summ[:-1])


string = input()
listedString = list(string)
counter = 0
for number in listedString:
	if number == '+':
		listedString.remove(number)
sortedList = sorted(listedString)
for i in range(len(sortedList) * 2 - 1):
	if i % 2 == 1 or i == 1:
		sortedList.insert(i, '+')
answer = ''.join(sortedList)
print(answer)


str = input()
str = str.split('+')
str.sort()
for i in range(len(str) - 1):
	print(str[i] + '+', end='')
print(str[len(str) - 1])


st = str(input())
l = []
for i in range(0, len(st)):
	if st[i].isdigit() is True:
		l.append(st[i])
l.sort()
for i in range(0, len(l) - 1):
	print(l[i], end='')
	print('+', end='')
print(l[len(l) - 1])


s = input()
nums = [str(x) for x in s if x is not '+']
m = sorted(nums)
l = '+'.join([str(x) for x in m])
print(l)


st = input().split('+')
st.sort()
ans = '+'.join(st)
print(ans)


a = input()
a = a.replace('+', '')
b = list(a)
b = [int(i) for i in b]
b.sort()
b = [str(i) for i in b]
c = '+'.join(b)
print(c)


temp = str(input()).split('+')
arr = []
for i in temp:
	arr.append(int(i))
arr.sort()
temp.clear()
for i in arr:
	temp.append(str(i))
print('+'.join(temp))


str = input('')
one = 0
two = 0
three = 0
for num in str:
	if num == '1':
		one += 1
	elif num == '2':
		two += 1
	elif num == '3':
		three += 1
mystring = ''
for i in range(one):
	mystring = mystring + '1+'
for i in range(two):
	mystring = mystring + '2+'
for i in range(three):
	mystring = mystring + '3+'
mystring = mystring[:-1]
print(mystring)


x = input(str())
y = x.split('+')
y = map(int, y)
y = sorted(y)
for i in range(len(y) - 1):
	print(str(y[i]) + '+', end='')
print(str(y[-1]))


TablicaLiczb = input().split('+')
TablicaLiczb.sort()
Ciag = '+'
Wynik = Ciag.join(TablicaLiczb)
print(Wynik)


l = input().split('+')
l.sort()
print('+'.join((str(x) for x in l)))


n = input()
k1 = n.count('1')
k2 = n.count('2')
k3 = n.count('3')
l1 = l2 = l3 = 0
if k1 == 0:
	k1 = 1
	l1 = 1
for i in range(k1 - 1):
	print('1+', end='')
if k1 > 0 and l1 == 0 and (k2 > 0 or k3 > 0):
	print('1+', end='')
elif k1 > 0 and l1 == 0:
	print('1')
if k2 == 0:
	k2 = 1
	l2 = 1
for i in range(k2 - 1):
	print('2+', end='')
if k2 > 0 and l2 == 0 and (k3 > 0):
	print('2+', end='')
elif k2 > 0 and l2 == 0:
	print('2')
if k3 == 0:
	k3 = 1
	l3 = 1
for i in range(k3 - 1):
	print('3+', end='')
if k3 > 0 and l3 == 0:
	print('3', end='')


s = input()
l = []
for i in s:
	if i != '+':
		l.append(i)
if l:
	l.sort()
	for i in range(len(l) - 1):
		l.insert(2 * i + 1, '+')
	l = [str(i) for i in l]
	s = l[0]
	for i in l:
		s += i
	print(s[1:])
else:
	print(s)


L = [int(x) for x in input().split('+')]
L.sort()
f = ''
for i in L:
	f += str(i) + '+'
print(f[:len(f) - 1])


a = sorted(input())
for i in range(len(a) - 1):
	if a[i] != '+':
		print(a[i] + '+', end='')
print(a[-1])


s = input()
l = []
for i in s:
	if i != '+':
		l.append(i)
l.sort()
print('+'.join(l[:]))


l = [int(x) for x in input().split('+')]
a = sorted(l)
for z in range(0, len(a)):
	if z != len(a) - 1:
		print(a[z], end='+')
	else:
		print(a[z])


inp = input()
lis = inp.split('+')
lis.sort()
res = '+'.join(lis)
print(res)


x = input()
x = x.split('+')
x.sort()
res = ''
for i in range(len(x)):
	if i != len(x) - 1:
		res += x[i]
		res += '+'
	else:
		res += x[i]
print(res)


n = [a_temp for a_temp in input().strip().split('+')]
n.sort()
print('+'.join(n))


numbers = [0, 0, 0]
string = list(input())
output = ''
for i in string:
	if i == '+':
		continue
	elif i == '1':
		numbers[0] += 1
	elif i == '2':
		numbers[1] += 1
	elif i == '3':
		numbers[2] += 1
for i in range(3):
	for j in range(numbers[i]):
		output += str(i + 1) + '+'
print(output.rstrip('+'))


nums = list(map(int, input().split('+')))
nums = sorted(nums)
print('+'.join([str(num) for num in nums]))


a = [int(x) for x in input().split('+')]
a.sort()
print(*a, sep='+')


s = input().split('+')
l = sorted(s)
ss = ''
for i in l:
	ss += i + '+'
print(ss[:-1])


s = input()
s = s.replace('+', '')
s = sorted(s)
print('+'.join(s))


nums = sorted(list(map(int, input().split('+'))))
result = ''
for i in range(len(nums)):
	if i != len(nums) - 1:
		result += '{}+'.format(nums[i])
	else:
		result += str(nums[i])
print(result)


n = input().split('+')
a = 0
b = 0
c = 0
for i in range(len(n)):
	num = int(n[i])
	if num == 1:
		a += 1
	elif num == 2:
		b += 1
	elif num == 3:
		c += 1
arr = ['1'] * a + ['2'] * b + ['3'] * c
print(str.join('+', arr))


st = input()
l = list(st.replace('+', ''))
x = sorted(l)
S = ''
for i in x:
	S = S + i + '+'
n = len(S)
X = ''
for i in range(n - 1):
	X = X + S[i]
print(X)


a = list(map(int, input().split('+')))
a.sort()
for k in a[:len(a) - 1]:
	print(k, end='+')
print(a[-1])


numbers = sorted(list(map(int, input().split('+'))))
numbers = list(map(str, numbers))
print('+'.join(numbers))


string = list(input())
ones = string.count('1')
twos = string.count('2')
threes = string.count('3')
out = []
if ones > 0:
	for i in range(ones):
		out.append('1')
		out.append('+')
if twos > 0:
	for i in range(twos):
		out.append('2')
		out.append('+')
if threes > 0:
	for i in range(threes):
		out.append('3')
		out.append('+')
out.pop()
output = ''.join(out)
print(output)


st = input()
s = ''
sum1 = st.count('1') + st.count('2') + st.count('3')
one = st.count('1')
two = st.count('2') + one
three = st.count('3') + two
for i in range(sum1):
	if i < one:
		s += '1'
		if i == sum1 - 1:
			break
		else:
			s += '+'
	elif i < two:
		s += '2'
		if i == sum1 - 1:
			break
		else:
			s += '+'
	elif i < three:
		s += '3'
		if i == sum1 - 1:
			break
		else:
			s += '+'
print(s)


st = input()
num = []
ans = []
for i in st:
	if i in '0123456789':
		num.append(i)
num.sort()
for j in range(len(num)):
	ans.append(num[j])
	if j < len(num) - 1:
		ans.append('+')
print(''.join(ans))


def proper_sum_order(str):
	l = str.split('+')
	a = l.count('1')
	b = l.count('2')
	c = l.count('3')
	for i in range(0, a):
		if i == a - 1 and b == 0 and (c == 0):
			print('1')
		else:
			print('1', end='+')
	for i in range(0, b):
		if i == b - 1 and c == 0:
			print('2')
		else:
			print('2', end='+')
	for i in range(0, c):
		if i == c - 1:
			print('3')
		else:
			print('3', end='+')
str = input()
proper_sum_order(str)


s = input()
l = []
for i in range(0, len(s), 2):
	l.append(int(s[i]))
l.sort()
s1 = '+'.join(map(str, l))
print(s1)


x = input().split('+')
x.sort()
y = '+'.join(x)
print(y)


a = list(map(int, input().split('+')))
a.sort()
for i in a[:-1]:
	print(i, end='')
	print('+', end='')
print(a[-1])


myStr = [int(s) for s in input().split('+')]
for i in range(len(myStr) - 1):
	for j in range(len(myStr) - i - 1):
		if myStr[j] > myStr[j + 1]:
			(myStr[j], myStr[j + 1]) = (myStr[j + 1], myStr[j])
result = ''
for i in range(len(myStr)):
	if i == 0:
		result += str(myStr[i])
		continue
	else:
		result += '+'
		result += str(myStr[i])
print(result)


d = {}
for n in input().split('+'):
	if n in d:
		d[n] += 1
	else:
		d[n] = 1
d_items = list(d.items())
d_items.sort()
t = []
for (k, v) in d_items:
	t.append('+'.join([e for e in k * v]))
print('+'.join(t))


summation = str(input())
summation = sorted(summation.replace('+', ''))
a = summation[0]
for i in range(1, len(summation)):
	a += '+' + summation[i]
print(a)


a = input()
sorted_list = sorted(a.split('+'))
b = ''
for i in sorted_list:
	b += f'{i}+'
print(b[:-1])


jiashu = list(map(int, input().split('+')))
jiashu.sort()
l = len(jiashu)
shunxu = []
if l == 1:
	print(jiashu[0])
else:
	for i in jiashu:
		shunxu.append(str(i))
		shunxu.append('+')
	shunxu.pop()
print(''.join(shunxu))


def crear_archivo():
	archivo = open('archivo_de_práctica', 'w')
	archivo.close

def escribir_archivo():
	archivo = open('agenda.nro1', 'a')
	cadena = input('introducir nombre de archivo')
	archivo.write(cadena)
	archivo.close
entrada = input()
lista = list()
a = entrada.replace('+', '')
for numeros in a:
	lista.append(numeros)
lista.sort()
string = '+'.join(lista)
print(string)


s = input()
a = []
for i in range(len(s)):
	if s[i] != '+':
		a.append(s[i])
a.sort()
j = 0
b = []
for i in range(len(s)):
	if i % 2 == 0:
		b.append(a[j])
		j += 1
	else:
		b.append('+')
print(*b, sep='')


s = input().replace('+', '')
s = sorted(s)
n = len(s)
print('+'.join(s))


s = input().replace('+', '')
l = list(map(int, s))
l.sort()
for i in range(len(l)):
	if i != len(l) - 1:
		print(l[i], end='+')
	else:
		print(l[i])


a = input()
b = 0
c = 0
d = 0
s2 = ''
for i in range(len(a)):
	if a[i] == '1':
		b += 1
	elif a[i] == '2':
		c += 1
	elif a[i] == '3':
		d += 1
s1 = '1' * b + '2' * c + '3' * d
for i in range(len(s1)):
	s2 = s2 + s1[i] + '+'
s3 = s2[0:len(s2) - 1]
print(s3)


str = input().split('+')
str.sort()
print('+'.join(str))


line = input()
line = line.split('+')
line = sorted(line)
line = '+'.join(line)
print(line)


def helpfulMaths(string1):
	s = sorted(string1)
	finalstring = ''
	for i in range(len(s)):
		finalstring += s[i] + '+'
	return finalstring[:len(finalstring) - 1]
string = input().split('+')
print(helpfulMaths(string))


nums = sorted(input().split('+'))
print('+'.join(nums))


def main():
	math = input().split('+')
	print('+'.join([i for i in sorted(math)]))
main()


from sys import stdin

def main():
	a = stdin.readline().strip()
	while a != '':
		a = a.split('+')
		a.sort()
		b = ''
		for i in range(len(a) - 1):
			b = b + str(a[i]) + '+'
		b = b + str(a[-1])
		print(b)
		a = stdin.readline().strip()
main()


cad = input()
tmp = sorted(cad)
n = tmp.count('+')
for i in range(0, n):
	tmp.remove('+')
print('+'.join(tmp))


def easyfy(exp):
	exp.sort()
	return '+'.join([str(i) for i in exp])
exp = list(map(int, input().rstrip().split('+')))
print(easyfy(exp))


s = input()
a = ''
b = ''
c = ''
f = 0
sum1 = 0
for i in range(0, len(s), 2):
	if s[i] == '1':
		a = a + '+1'
		sum1 += 1
	elif s[i] == '2':
		b = b + '+2'
		sum1 += 2
	elif s[i] == '3':
		c = c + '+3'
		sum1 += 3
m = a + b + c
m = m[1:]
if True:
	print(m)
else:
	print(sum1)


expr = input()
e = ''
expr = str(expr)
c1 = 0
c2 = 0
c3 = 0
for i in range(len(expr)):
	if expr[i] == '1':
		c1 = c1 + 1
	elif expr[i] == '2':
		c2 = c2 + 1
	elif expr[i] == '3':
		c3 = c3 + 1
for i in range(c1):
	if i != 0:
		e = e + '+'
	e = e + '1'
for i in range(c2):
	if c1 != 0 or i != 0:
		e = e + '+'
	e = e + '2'
for i in range(c3):
	if c1 != 0 or c2 != 0 or i != 0:
		e = e + '+'
	e = e + '3'
print(e)


n = input().split('+')
n.sort()
s = ''
for i in n:
	s = s + i + '+'
print(s[:-1])


arr = list(map(int, input().split('+')))
(k1, k2, k3) = (0, 0, 0)
for i in arr:
	if i > 2:
		k3 += 1
	elif i == 2:
		k2 += 1
	else:
		k1 += 1
print('+'.join(k1 * ['1'] + k2 * ['2'] + k3 * ['3']))


sum = input()
tab = []
for i in range(0, len(sum), 2):
	tab.append(sum[i])
tab.sort()
for i in range(1, len(sum), 2):
	tab.insert(i, '+')
print(''.join(tab))


s = input()
l = []
for i in s:
	if i != '+':
		l.append(int(i))
l.sort()
ans = ''
for i in l:
	ans = ans + str(i) + '+'
print(ans[0:len(ans) - 1])


s = input()
arr = s.split('+')
arr = [int(x) for x in arr]
arr.sort()
arr = [str(x) for x in arr]
print('+'.join(arr))


x = input()
z = []
for i in range(0, len(x)):
	if i % 2 == 0:
		z.append(int(x[i]))
z.sort()
print(z[0], end='')
for i in range(1, len(z)):
	print('+', end='')
	print(z[i], end='')


s = input()
s = s.split('+')
ns = sorted(s)
s = str(s)
s = '+'.join(ns)
print(s)


s = input()
ns = ''
for i in s:
	if i != '+':
		ns += i
ns = sorted(ns)
rs = ''
for i in ns:
	rs += i
	rs += '+'
print(rs[:len(rs) - 1])


L = [int(i) for i in input().split('+')]
L.sort()
for i in range(len(L) - 1):
	print(L[i], end='+')
print(L[len(L) - 1])


s = input()
a = s.split('+')
a.sort()
t = ''
for i in a:
	if t == '':
		t = t + i
	else:
		t = t + '+' + i
print(t)


n = list(map(int, input().strip().split('+')))
n.sort()
n = map(str, n)
print('+'.join(n))


a = list(input())
while '+' in a:
	a.remove('+')
a.sort()
print('+'.join(a))


__author__ = 'Utena'
print('+'.join(sorted(list(input().split('+')))))


l = input().split('+')
print('+'.join(sorted(l)))


a = list(input())
b = []
for x in range(len(a)):
	if a[x].isdigit():
		b.append(int(a[x]))
b = sorted(b, key=int)
c = str(b[0])
for y in range(1, len(b)):
	c += '+' + str(b[y])
print(c)


s = input()
a = s.count('1')
b = s.count('2')
c = s.count('3')
l = len(s) - a - b - c + 1
for i in range(a):
	print('1', end='')
	l -= 1
	if l != 0:
		print('+', end='')
for i in range(b):
	print('2', end='')
	l -= 1
	if l != 0:
		print('+', end='')
for i in range(c):
	print('3', end='')
	l -= 1
	if l != 0:
		print('+', end='')


expression = list(input(''))
number = []
answer = ''
for i in expression:
	if i.isdigit():
		number += i
number = sorted(number)
for i in number:
	answer += i
	answer += '+'
print(answer[:-1])


s = input()
x1 = 0
x2 = 0
x3 = 0
for i in range(0, len(s), 2):
	if s[i] == '1':
		x1 = x1 + 1
	elif s[i] == '2':
		x2 = x2 + 1
	else:
		x3 = x3 + 1
res = '1+' * x1 + '2+' * x2 + '3+' * x3
print(res[:-1])


n = str(input())
arr = list(n)
for i in range(arr.count('+')):
	arr.remove('+')
sote = sorted(arr)
print('+'.join(sote))


ls = list(input())
lt = ls[0::2]
lt.sort()
for i in range(len(lt) - 1):
	lt[i + 1] = '+' + lt[i + 1]
print(''.join(lt))


w = input('')
l = []
for i in range(0, w.count('1')):
	l.append('1+')
for i in range(0, w.count('2')):
	l.append('2+')
for i in range(0, w.count('3')):
	l.append('3+')
x = ''.join(map(str, l))
print(x[0:len(x) - 1])


user_input = input()
numbers = user_input.split('+')
numbers.sort()
output = '+'.join(numbers)
print(output)


x = list(map(int, input().split('+')))
x.sort()
print('+'.join(map(str, x)))


import sys
from math import sqrt, floor, factorial
from collections import deque, Counter
inp = sys.stdin.readline
read = lambda : list(map(int, inp().strip().split()))

def solve():
	print('+'.join(sorted(inp().strip().split('+'))))
solve()


a = input().strip()
arr = list(map(int, a.split('+')))
arr.sort()
for i in range(len(arr)):
	if i + 1 != len(arr):
		print(str(arr[i]) + '+', end='')
	else:
		print(arr[i], end='')
print()


add = list(map(int, input().split('+')))
add = sorted(add)
out = '+'.join([str(i) for i in add])
print(out)


s = input()
ans = s.split('+')
ans.sort()
print('+'.join(ans))


s = input()
n = len(s)
b = []
for i in s:
	if i != '+':
		b.append(i)
b.sort()
f = len(b)
c = ''
for k in range(f - 1):
	c = c + b[k] + '+'
print(c + b[f - 1])


a = list(map(str, input().split('+')))
a.sort()
for i in range(len(a) - 1):
	print(a[i], end='+')
print(a[len(a) - 1])


numbers = input()
numbers = numbers.strip()
num_list = ['1', '2', '3']
new = []
for char in numbers:
	if char == '+':
		pass
	elif char in num_list:
		char = int(char)
		new.append(char)
counter = 1
final_str = ''
if len(new) == 1:
	print(new[0])
else:
	new.sort()
	for num in new:
		if counter == len(new):
			num = str(num)
			final_str += num
			print(final_str)
		else:
			num = str(num)
			final_str = final_str + num + '+'
		counter += 1


def Helpful_Maths():
	z = input('')
	x = '+'
	trash = []
	ls = []
	lst = []
	for i in z:
		if i == '+':
			trash.append(i)
		else:
			ls.append(i)
	ls.sort()
	for k in ls:
		lst.append(k)
		lst.append(x)
	lst.reverse()
	lst.pop(0)
	lst.reverse()
	str1 = ''.join(lst)
	print(str1)
Helpful_Maths()


s = list(map(int, input().split('+')))
s.sort()
for i in range(len(s)):
	if i < len(s) - 1:
		print(s[i], end='+')
	else:
		print(s[i])


p = input()
p = p.replace('+', '')
p = list(p)
p = sorted(p)
p = '+'.join(p)
print(p)


s = input()
n = len(s)
a = s[0:n:2]
b = sorted(a)
c = []
for i in range(len(b)):
	c.append(b[i])
	c.append('+')
del c[-1]
print(''.join(c))


s = input().split('+')
s_2 = []
for i in range(len(s)):
	c = int(s[i])
	s_2.append(c)
s_2.sort()
for i in range(len(s_2) - 1):
	print(s_2[i], end='')
	print('+', end='')
print(s_2[len(s_2) - 1])


s = input()
bucket = [0, 0, 0]
for number in s:
	try:
		number = int(number)
		bucket[number - 1] += 1
	except ValueError:
		continue
output = ''
for i in range(3):
	for _ in range(bucket[i]):
		output += str(i + 1) + '+'
print(output[:-1])


s = str(input())
l = len(s)
l1 = []
c1 = s.count('1')
c2 = s.count('2')
c3 = s.count('3')
for i in range(c1):
	l1.append('1')
	l1.append('+')
for i in range(c2):
	l1.append('2')
	l1.append('+')
for i in range(c3):
	l1.append('3')
	l1.append('+')
for i in range(l):
	print(l1[i], end='')


s = input()
l = []
for i in s:
	if i != '+':
		l.append(i)
l.sort()
n = len(l)
for i in range(0, n - 1):
	print(l[i], end='+')
print(l[n - 1])


string = input()
numbers = string.split('+')
numbersSorted = sorted(numbers)
newList = []
for i in range(0, len(numbersSorted)):
	if i == len(numbersSorted) - 1:
		newList.append(numbersSorted[i])
	else:
		newList.append(numbersSorted[i])
		newList.append('+')
print(''.join((str(e) for e in newList)))


def helpful_math(math):
	c1 = 0
	c2 = 0
	c3 = 0
	for i in math:
		if i is not '+':
			if i == '1':
				c1 += 1
			elif i == '2':
				c2 += 1
			else:
				c3 += 1
	string = '1+' * c1 + '2+' * c2 + '3+' * c3
	print(string[:-1])
math = input()
helpful_math(math)


string = input()
a = list(string)
b = []
i = 0
s = ''
for x in range(0, len(a), 2):
	b.append(int(a[x]))
	b.sort()
if len(b) == 1:
	s = s + ''.join(str(b[0]))
	print(s)
else:
	for i in range(0, len(b) - 1):
		s = s + ''.join(str(b[i])) + '+'
	s = s + ''.join(str(b[-1]))
	print(s)


string = input()
str_arr = string.split('+')
str_arr.sort()
res = []
for i in str_arr:
	res.append(i)
	res.append('+')
res.pop()
print(''.join(res))


import sys
inputString = sys.stdin.readline().replace('\n', '')
number = []
for c in inputString:
	if c.isdigit():
		number.append(c)
number.sort()
target = '+'.join(number)
print(target)


l1 = input().split('+')
l1.sort()
s1 = '+'.join(l1)
print(s1)


s = input()
arr = []
x = 0
y = ''
while x <= len(s):
	arr.append(s[x])
	x = x + 2
arr.sort()
for x in arr:
	if len(y) == 0:
		y = y + x
	else:
		y = y + '+' + x
print(y)


def main():
	operands = input().split('+')
	operands.sort()
	print('+'.join(operands))
main()


a = input()
b = a.split('+')
c = sorted(b)
d = '+'.join(c)
print(d)


string = [i for i in input().split('+')]
string.sort()
print('+'.join(string))


n = input()
L = []
for x in n:
	if x.isdigit():
		L.append(int(x))
L = sorted(L)
for x in range(len(L)):
	if x < len(L) - 1:
		print(L[x], end='+')
	else:
		print(L[x], end='')


nums = [x for x in input().split('+')]
nums.sort(reverse=False)
output = ''
for n in nums:
	output += n + '+'
print(output[:-1])


class Node:

	def __init__(self, item=None, left=None, right=None):
		self.item = item
		self.left = left
		self.right = right

class BST:

	def __init__(self):
		self.root = None

	def __len__(self):
		return self._len_aux(self.root)

	def _len_aux(self, current):
		if current is None:
			return 0
		else:
			return 1 + self._len_aux(current.left) + self._len_aux(current.right)

	def insert(self, item):
		if self.root is None:
			self.root = Node(item)
		else:
			self._insert_aux(self.root, item)

	def _insert_aux(self, current, item):
		if current is None:
			return Node(item)
		elif item <= current.item:
			current.left = self._insert_aux(current.left, item)
		else:
			current.right = self._insert_aux(current.right, item)
		return current

	def inorder(self):
		a_list = []
		self._inorder_aux(self.root, a_list)
		return a_list

	def _inorder_aux(self, current, lst):
		if current is not None:
			self._inorder_aux(current.left, lst)
			lst.append(str(current.item))
			lst.append('+')
			self._inorder_aux(current.right, lst)

def main():
	string = input()
	bst = BST()
	for char in string:
		if char.isdigit():
			bst.insert(int(char))
	numbers = bst.inorder()
	print(''.join(numbers[:-1]))
main()


x = input()
ls = [int(i) for i in x if i != '+']
count = 0
ls.sort()
for i in range(len(ls)):
	if i != len(ls) - 1:
		print(ls[i], end='')
		print('+', end='')
	else:
		print(ls[i])


x = input()
s = x.split('+')
int_arr = [int(x) for x in s]
int_arr.sort()
s = ''
for i in range(len(int_arr)):
	s += str(int_arr[i]) + '+'
substr = s[:-1]
print(substr)


s = input()
lst = []
for i in s:
	if i != '+':
		lst.append(i)
lst.sort()
separator = '+'
print(separator.join(lst))


s = input()
c1 = 0
c2 = 0
c3 = 0
for i in range(0, len(s), 2):
	if s[i] == '1':
		c1 = c1 + 1
	elif s[i] == '2':
		c2 = c2 + 1
	else:
		c3 = c3 + 1
s1 = '1+' * c1 + '2+' * c2 + '3+' * c3
print(s1[:-1])


x: str = input()
x = x.split('+')
x = [int(i) for i in x]

def mergeSort(x):
	if len(x) > 1:
		mid = len(x) // 2
		L = x[:mid]
		R = x[mid:]
		mergeSort(L)
		mergeSort(R)
		i = j = k = 0
		while i < len(L) and j < len(R):
			if L[i] < R[j]:
				x[k] = L[i]
				i += 1
			else:
				x[k] = R[j]
				j += 1
			k += 1
		while i < len(L):
			x[k] = L[i]
			i += 1
			k += 1
		while j < len(R):
			x[k] = R[j]
			j += 1
			k += 1
	return x
x = mergeSort(x)
if x.__len__() > 1:
	for i in range(0, x.__len__() - 1):
		print(x[i], end='+')
	print(x[x.__len__() - 1], end='')
else:
	print(x[0])


a = input().split('+')
print('+'.join(sorted(a)))


inp = input().split('+')
inp.sort()
summation = ''
for element in inp:
	summation += element + '+'
print(summation[:len(summation) - 1])


w = input()
k = len(w)
if '+' in w:
	e = w.replace('+', '')
	res = ''.join(sorted(e))
	str = res.replace('', '+')
	print(str[1:k + 1])
else:
	print(w)


n = list(input().split('+'))
x = sorted(n)
print('+'.join(x))


math = list(map(int, input().split('+')))
math.sort()
print('+'.join([str(num) for num in math]))


t = [int(e) for e in input().split('+')]
t.sort()
print('+'.join((str(e) for e in t)))


l1 = []
l1 = input().split('+')
l1.sort()
for i in range(0, len(l1) - 1):
	print(l1[i], end='')
	print('+', end='')
print(l1[-1])


x = input()
a = []
for i in x:
	if i != '+':
		a.append(i)
a.sort()
print(*a, sep='+')


arry = []
i = 0
j = 1
cadena1 = input()
while i <= len(cadena1):
	arry.append(int(cadena1[i]))
	i = i + 2
arry.sort()
cadena2 = str(arry[0])
while j < i / 2:
	cadena2 = cadena2 + '+' + str(arry[j])
	j = j + 1
print(cadena2)


s = input()
output = []
for i in range(len(s)):
	if s[i] == '1':
		output.append('1')
for i in range(len(s)):
	if s[i] == '2':
		output.append('2')
for i in range(len(s)):
	if s[i] == '3':
		output.append('3')
print('+'.join(output))


list1 = input()
a = list1.split('+')
new = []
for i in a:
	new.append(int(i))
new.sort()
print(*new, sep='+')


s = input().split('+')
s2 = []
for element in s:
	i = s2.append(int(element))
s3 = sorted(s2)
print(*s3, sep='+')


s = input()
numbers = []
for i in s:
	if i != '+':
		numbers.append(int(i))
numbers.sort()
for i in range(len(numbers) - 1):
	print(numbers[i], end='')
	print('+', end='')
print(numbers[len(numbers) - 1])


import sys
x = input()
t = []
for i in x:
	if i == '+':
		x = x.replace(i, ' ')
for j in range(0, len(x)):
	if x[j] != ' ':
		t.append(int(x[j]))
t.sort()
for j in range(0, len(t) - 1):
	print(str(t[j]) + '+', end='')
print(t[-1])


a = list()
a.extend(input().split('+'))
a = list(map(int, a))
a = sorted(a)
a = list(map(str, a))
print('+'.join(a))


a = input().split('+')
for i in range(len(a) - 1):
	for g in range(len(a) - 1):
		if a[g] > a[g + 1]:
			(a[g], a[g + 1]) = (a[g + 1], a[g])
print('+'.join(a))


a = list(map(int, input().split('+')))
a.sort()
s = ''
for i in range(len(a) - 1):
	s = s + str(a[i]) + '+'
s = s + str(a[-1])
print(s)


a = input().split('+')
for i in range(len(a)):
	for j in range(len(a[i + 1:])):
		if a[i] > a[i + j + 1]:
			temp = a[i]
			a[i] = a[i + j + 1]
			a[i + j + 1] = temp
print('+'.join(a))


def qsort(lst):
	if lst:
		(head, *tail) = lst
		return qsort([x for x in tail if x <= head]) + [head] + qsort([x for x in tail if x > head])
	return []
S = input().split('+')
S = qsort(S)
k = len(S)
if k == 1:
	S = S[0]
else:
	P = S[0]
	for i in range(1, k):
		P = P + '+' + S[i]
	S = P
print(S)


n = input().split('+')
res = ''
n = sorted([int(x) for x in n])
for i in n:
	res = res + str(i) + '+'
print(res[:-1])


y = input()
l = []
i = 0
while i <= len(y):
	l.append(y[i])
	i += 2
l.sort()
print('+'.join(l))


n = input()
n = list(n)
l = []
for i in n:
	if i >= '0' and i <= '9':
		l.append(i)
for i in range(0, len(l)):
	for j in range(0, len(l) - i - 1):
		if l[j] > l[j + 1]:
			temp = l[j]
			l[j] = l[j + 1]
			l[j + 1] = temp
for i in range(1, 2 * len(l) - 1):
	if i % 2 != 0:
		l.insert(i, '+')
for i in l:
	print(i, end='')


s = input()
final = ''
dictu = {'1': 0, '2': 0, '3': 0}
for i in range(0, len(s), 2):
	dictu[s[i]] += 1
for i in dictu.keys():
	for j in range(dictu[i]):
		final += '+' + i
print(final.replace('+', '', 1))


li = list(map(str, input().split('+')))
li = sorted(li)
print('+'.join(li))


def calc(s):
	return '+'.join(sorted(s.split('+')))
s = input()
print(calc(s))


n = list(input().rstrip().split('+'))
n.sort()
string = '+'.join(n)
print(string)


a = input()
a = list(a)
i = 2
while i < len(a):
	p = i - 2
	while p >= 0:
		if int(a[p]) > int(a[p + 2]):
			s = a[p + 2]
			a[p + 2] = a[p]
			a[p] = s
			p = p - 2
		else:
			p = -1
	i = i + 2
print(''.join(a))


def main():
	entry = input()
	if len(entry) == 1:
		print(entry)
	else:
		entry = entry.split('+')
		sentry = sorted(entry)
		ventry = '+'.join(sentry)
		print(ventry)
main()


n = input()
l = n.split('+')
b = sorted(l)
a = '+'.join(b)
print(a)


s = input()
ls = []
for i in s:
	if i >= '0' and i <= '9':
		ls.append(i)
ls.sort()
n = len(ls)
print(ls[0], end='')
for i in range(1, n - 1):
	print('+', end='')
	print(ls[i], end='')
if n > 1:
	print('+', end='')
	print(ls[-1])


a = list(input())
for x in a:
	if x == '+':
		a.remove('+')
a.sort()
a = ''.join(a)
a = '+'.join(a)
print(a)


helpful = ''
helpful_math = ''
math = input()
for i in math:
	if i.isnumeric():
		helpful += i
helpful = sorted(helpful)
for i in helpful:
	helpful_math += i + '+'
helpful_math = helpful_math[:-1]
print(helpful_math)


print('+'.join(sorted(input().split('+'))))


a = input()
b = []
for x in a:
	if a.index(x) % 2 == 0:
		b.append(x)
b.sort()
c = b[0]
for x in range(1, len(b)):
	c = c + '+' + b[x]
print(c)


sum = input()
sum = list(sum.replace('+', ''))
for elem in sum:
	elem = int(elem)
sum.sort()
print(*sum, sep='+')


k = input()
m = []
for i in range(len(k)):
	if i % 2 == 0:
		m.append(k[i])
m.sort()
print(m[0], end='')
for i in range(1, len(m)):
	print('+' + m[i], end='')


n = list(map(int, input().split('+')))
n.sort()
print(n[0], end='')
for i in range(1, len(n)):
	print('+', n[i], sep='', end='')


n = list(map(int, input().split('+')))
n.sort()
string = ''
for i in range(0, len(n)):
	string += str(n[i])
	string += '+'
string = string[:-1]
print(string)


a = [str(x) for x in input().split('+')]
a.sort()
b = '+'.join(a)
print(b)


s = input('')
input_lists = s.split('+')
s = [int(x.strip()) for x in input_lists]
values = sorted(s)
final = []
j = 0
sign = False
for i in range(2 * len(values)):
	if sign == False:
		final.append(values[j])
		j += 1
		sign = True
	else:
		final.append('+')
		sign = False
del final[-1]
output = ''.join(map(str, final))
print(output)


s = input()
l = []
for i in s:
	if i == '+':
		continue
	else:
		l.append(i)
l.sort()
for i in range(len(l)):
	if i < len(l) - 1:
		print(l[i], end='+')
	else:
		print(l[i])


exp = list(map(int, input().split('+')))
exp = sorted(exp)
s = ''
for i in range(len(exp)):
	s = s + str(exp[i]) + '+'
print(s[0:-1])


s = '+'
string = str(input())
digits = [d for d in string.split(s)]
print(s.join(sorted(digits)))


a = sorted(input()[::2])
print('+'.join(a))


s = input()
if len(s) > 1:
	cnt = s.count('+') + 1
	i = 0
	l = []
	for n in range(0, cnt):
		l.append(s[i])
		i = i + 2
	s = ''
	l.sort()
	cnt = cnt - 1
	for n in range(0, cnt):
		s += l[n] + '+'
	s += l[-1]
print(s)


inputLine = input()
inputList = inputLine.split('+')
a = int(inputList.count('1'))
b = int(inputList.count('2'))
c = int(inputList.count('3'))
outputList = ['placeholder']
for i in range(0, a):
	outputList.append('1')
for j in range(0, b):
	outputList.append('2')
for k in range(0, c):
	outputList.append('3')
del outputList[0]
print('+'.join(outputList))


str2 = input()
list1 = list(str2)
list2 = [int(x) for x in str2.split('+')]
b = 0
for i in range(1, 4):
	x = list2.count(i)
	a = 0
	while a < x:
		list1[b] = str(i)
		a = a + 1
		b = b + 2
print(''.join(list1))


lst = []
lstx = []
lsty = []
n = input()
for i in n:
	lst.append(i)
for j in range(0, len(lst), 2):
	lstx.append(lst[j])
lstx.sort()
for k in range(len(lstx)):
	lsty.append(lstx[k])
for z in range(1, len(lst), 2):
	lsty.insert(z, '+')
w = ''.join(lsty)
print(w)


n = input()
n = [a for a in n.split('+')]
n.sort()
print('+'.join(n))


str1 = input()
li = []
if len(str1) == 1:
	print(str1)
else:
	li = list(str1.split('+'))
	li.sort()
	for i in range(2 * len(li) - 2):
		if i % 2 == 0:
			li.insert(i + 1, '+')
			i = i - 1
	str1 = ''.join(li)
	print(str1)


def insertionSort(arr):
	for i in range(1, len(arr)):
		key = arr[i]
		j = i - 1
		while j >= 0 and key < arr[j]:
			arr[j + 1] = arr[j]
			j -= 1
		arr[j + 1] = key
str = input()
str2 = str.split('+')
insertionSort(str2)
out = '+'.join(str2)
print(out)


import sys
input = lambda : sys.stdin.readline().strip()
s = input().split('+')
s.sort()
print('+'.join(s))


n = input()
a = []
a = list(n)
z = []
for i in range(len(a)):
	if a[i].isdigit() == True:
		z.append(a[i])
z.sort()
st = '+'.join([str(i) for i in z])
print(st)


s = input()
new = ''
for digit in ['1', '2', '3']:
	new += ''.join((digit + '+' for _ in range(s.count(digit))))
print(new[:-1])


soma = input().split('+')
soma.sort()
print(soma[0], end='')
tam = len(soma)
for x in range(1, tam):
	print('+%s' % soma[x], end='')
print()


s = str(input())
d = s.split('+')
lst = []
for i in d:
	lst += [int(i)]
lst.sort()
for j in lst[0:-1]:
	print(str(j) + '+', end='')
print(lst[-1])


n = list(map(int, input().split('+')))
m = len(n)
l = 0
for i in sorted(n):
	l = l + 1
	print(i, end='')
	if l != m:
		print('+', end='')


st = input()
numbers = st.split('+')
one = []
two = []
three = []
order = ''
for i in numbers:
	if int(i) == 1:
		one.append(i)
	elif int(i) == 2:
		two.append(i)
	elif int(i) == 3:
		three.append(i)
for j in one:
	if order == '':
		order = order + j
	else:
		order = order + '+' + j
for s in two:
	if order == '':
		order = order + s
	else:
		order = order + '+' + s
for t in three:
	if order == '':
		order = order + t
	else:
		order = order + '+' + t
print(order)


s = [i for i in input() if i != '+']
s.sort()
print('+'.join(s))


a = list(map(int, input().split('+')))
c = []
s = ''
for i in range(len(a) - 1):
	for j in range(len(a) - 1):
		if a[j] > a[j + 1]:
			k = a[j]
			a[j] = a[j + 1]
			a[j + 1] = k
for i in range(len(a) - 1):
	s = s + str(a[i]) + '+'
s = s + str(a[-1])
print(s)


a = str(input())
a = sorted(a)
if len(a) == 1:
	print(a[0])
else:
	for i in a[:-1]:
		if i != '+':
			print(i, end='+')
	print(a[-1])


inp = str(input())
temp = []
for i in range(0, len(inp)):
	if 2 * i <= len(inp):
		temp.append(inp[2 * i])
temp.sort()
res = ['+'] * (len(temp) * 2 - 1)
for i in range(0, len(temp)):
	res[2 * i] = temp[i]
for i in res:
	print(i, end='')


m = input().split('+')
m.sort()
for i in range(len(m)):
	print(m[i], end='')
	if i != len(m) - 1:
		print('+', end='')


expr = str(input())
l = expr.split('+')
l.sort()
newExpr = '+'.join(l)
print(newExpr)


def helpful_maths(line):
	line = line.split('+')
	line.sort()
	out = '+'.join(line)
	print(out)
helpful_maths(input())


s = [str(i) for i in input().split('+')]
print('+'.join(sorted(s, key=int)))


s = input()
k = len(s) // 2 + 1
num = []
for i in range(k):
	num.append(int(s[2 * i]))
num.sort()
out = ''
for j in range(k - 1):
	out = out + str(num[j]) + '+'
out = out + str(num[-1])
print(out)


str = str(input())
str = str.split('+')
str.sort()
result = ''
for i in str[0:-1]:
	result += i + '+'
result += str[-1]
print(result)


Números = input()
Lista = Números.split('+')
Lista2 = Lista.sort()
print('+'.join(Lista))


s = input()
a = ''
for i in s:
	if i == '+':
		continue
	else:
		a += i
res = ''.join(sorted(a))
r = ''
for i in res:
	r += i + '+'
print(r[0:-1])


l = sorted(input()[::2])
print('+'.join(l))


s = input()
lst = list(s)
new_lst = []
for i in range(len(lst)):
	if lst[i] != '+':
		new_lst.append(int(lst[i]))
new_lst.sort()
string = ''
for i in range(len(new_lst) - 1):
	string += str(new_lst[i]) + '+'
string += str(new_lst[len(new_lst) - 1])
print(string)


mas = input()
if len(mas) == 1:
	print(mas)
else:
	print('+'.join(sorted(mas.split('+'))))


str = input()
li = []
s = ''
for i in range(len(str)):
	if i % 2 == 0:
		li.append(str[i])
li.sort()
for i in range(len(li)):
	s += li[i] + '+'
s2 = s[:-1]
print(s2)


s = sorted(map(int, input().split('+')))
print('+'.join([str(i) for i in s]))


str = input()
for i in str:
	if i == '+':
		str = str.replace('+', '')
str = sorted(str)
c = '+'.join(str)
print(c)


n = input()
if len(n) > 1:
	t = ''
	l = n.split('+')
	l.sort()
	for i in l:
		t = t + str(i) + '+'
	print(t[0:len(t) - 1])
else:
	print(n)


lst = list(map(int, input().split('+')))
print('+'.join(map(str, sorted(lst))))


m = []
m = list(map(int, input().split('+')))
m.sort()
n = m
for i in range(len(m) * 2):
	if i % 2 == 0:
		n.insert(i, '+')
n.pop(0)
print(*n, sep='')


lst = [elem for elem in input().split('+')]
s = ''
for elem in sorted(lst):
	s = s + '+' + elem
print(s[1:])


line = input()
line_sorted = '+'.join(sorted(line.replace('+', '')))
print(line_sorted)


n = input().split('+')
n.sort()
print(n[0], end='')
for char in n[1:]:
	print('+', end='')
	print(char, end='')


string = input()
string = string.split('+')
string.sort()
x = len(string)
for i in range(x):
	if i != x - 1:
		print(string[i], end='+')
	else:
		print(string[i])


st = str(input())
st = st.replace('+', '')
n = len(st)
arr = []
for i in range(0, n):
	arr.append(int(st[i]))
for i in range(0, n - 1):
	for j in range(i + 1, n):
		if arr[i] > arr[j]:
			tmp = arr[i]
			arr[i] = arr[j]
			arr[j] = tmp
stResult = ''
for i in range(0, n - 1):
	stResult = stResult + str(arr[i]) + '+'
stResult = stResult + str(arr[n - 1])
print(stResult)


n = input()
x = n.split('+')
y = sorted(x)
z = '+'.join(y)
print(z)


a = input()
b = ''
k = 0
p = 0
d = 0
for i in range(0, len(a)):
	if a[i] != '+':
		if a[i] == '1':
			k += 1
		elif a[i] == '2':
			p += 1
		else:
			d += 1
		i += 1
	else:
		i += 1
b = '1+' * k + '2+' * p + '3+' * d
print(b[0:len(b) - 1])


s = input()
cnt1 = 0
cnt2 = 0
cnt3 = 0
for i in range(len(s)):
	if s[i] == '1':
		cnt1 += 1
	elif s[i] == '2':
		cnt2 += 1
	elif s[i] == '3':
		cnt3 += 1
ans = ''
for i in range(cnt1):
	ans += '1+'
for i in range(cnt2):
	ans += '2+'
for i in range(cnt3):
	ans += '3+'
ans1 = ''
for i in range(len(ans) - 1):
	ans1 += ans[i]
print(ans1)


def ii():
	return int(input())

def mi():
	return map(int, input().split())

def li():
	return list(map(int, input().split()))
t = 1
for _ in range(t):
	s = str(input())
	eq = s.split('+')
	eq.sort()
	print(*eq, sep='+')


x = input()
s = x.split('+')
s.sort()
print('+'.join(s))


s = input()
l = s.split('+')
l.sort()
result = ''
for i in l:
	result = result + i + '+'
print(result[0:int(len(result) - 1)])


s = input()
n = []
for i in range(len(s)):
	if s[i] != '+':
		n.append(s[i])
n.sort()
if len(n) == 1:
	for i in n:
		print(i)
res = ''
if len(n) > 1:
	for i in range(len(n) - 1):
		res = res + str(n[i])
		res = res + '+'
	res = res + str(n[len(n) - 1])
	print(res)


def solve():
	arr = input()
	arr = arr.split('+')
	arr.sort()
	print('+'.join(arr))
solve()


l = input().split('+')
l.sort()
s = str()
for i in range(len(l)):
	if i:
		s += '+'
	s += str(l[i])
print(s)


def f(s):
	s = sorted(s.split('+'))
	if len(s) == 1:
		return s[0]
	res = s[0]
	for i in s[1:]:
		res += '+' + i
	return res
inp = input()
print(f(inp))


s = list(input().strip())
o = 0
d = 0
t = 0
for i in s:
	if i == '1':
		o += 1
	elif i == '2':
		d += 1
	elif i == '3':
		t += 1
ans = []
for i in range(o):
	ans.append('1')
	ans.append('+')
for i in range(d):
	ans.append('2')
	ans.append('+')
for i in range(t):
	ans.append('3')
	ans.append('+')
ans.pop()
print(''.join(ans))


def computeProblem(stringA):
	numbers = []
	result = ''
	for i in stringA:
		if i == '+':
			continue
		else:
			numbers.append(i)
	numbers.sort()
	for i in range(len(numbers)):
		result += numbers[i] + '+'
	result = result[0:len(result) - 1]
	print(result)

def main():
	a = input('')
	computeProblem(a)
main()


s = ''
v = list(map(int, input('').split('+')))
v = sorted(v)
for i in range(len(v) - 1):
	s += str(v[i]) + '+'
s = s + str(max(v))
print(s)


s = input()
lst = []
for i in range((len(s) + 1) // 2):
	lst.append(s[i * 2])
lst.sort()
string = ''
for i in range(len(s)):
	if i % 2 == 0:
		string += lst[i // 2]
	else:
		string += '+'
print(string)


userinput = input()
userlist = list(userinput.split('+'))
userlist.sort()
output = userlist[0]
i = 1
n = len(userlist) - 1
while i <= n:
	output = output + '+' + userlist[i]
	i += 1
print(output)


line = input()
lst = line.split('+')
lst.sort()
print('+'.join(lst))


s = str(input())
c = []
for x in range(len(s)):
	if x % 2 == 0:
		c.append(ord(s[x]) - 48)
c.sort()
print('+'.join((str(c[x]) for x in range(len(c)))))


n = input()
st = []
for i in range(0, len(n), 2):
	st.append(n[i])
st.sort()
sr = ''
for i in range(0, len(st)):
	sr = sr + st[i] + '+'
print(sr[:len(sr) - 1])


s = [int(i) for i in input().split('+')]
s.sort()
print('+'.join(map(str, s)))


inp = input().split('+')
(one, two, three) = ('', '', '')
for i in inp:
	if i == '1':
		one += '1+'
	elif i == '2':
		two += '2+'
	else:
		three += '3+'
out = one + two + three
print(out[:-1])


a = list(map(str, input().split('+')))
a.sort()
print('+'.join(a))


n = str(input())
i = 0
mas = []
string = str()
while i <= len(n):
	mas.append(n[i])
	i += 2
one = mas.count('1')
two = mas.count('2')
three = mas.count('3')
for i in range(one):
	string = string + '+1'
for i in range(two):
	string = string + '+2'
for i in range(three):
	string = string + '+3'
print(string[1:])


s = input()
l = len(s)
lis = [0, 0, 0]
for i in range(0, l, 2):
	if s[i] == '1':
		lis[0] += 1
	elif s[i] == '2':
		lis[1] += 1
	else:
		lis[2] += 1
s1 = '1+' * lis[0] + '2+' * lis[1] + '3+' * lis[2]
print(s1[0:l])


s = list(input())
cnt = s.count('+')
while cnt:
	s.remove('+')
	cnt -= 1
print('+'.join(sorted(s)))


w = input().split('+')
str = '+'
print(str.join(sorted(w)))


sumyIn = input()
numbers = sumyIn.split('+')
numbers.sort()
ordNumbers = '+'.join(map(str, numbers))
print(ordNumbers)


def answer():
	a = input().split('+')
	a.sort()
	i = 0
	b = ''
	while i < len(a):
		b += a[i]
		if i != len(a) - 1:
			b += '+'
		i += 1
	return b
print(answer())


l = input().split('+')
l.sort()
result = []
for i in l:
	result.append(i)
	result.append('+')
for i in range(len(result) - 1):
	print(result[i], end='')


print('+'.join((c for c in sorted(list(input().replace('+', ''))))))


l = list(input())
l1 = []
s = ''
for i in range(len(l)):
	if l[i] != '+':
		l1.append(l[i])
l1.sort()
for i in range(len(l1) - 1):
	print(l1[i], end='+')
print(l1[len(l1) - 1])


s = input()
plus = 0
c = ''
for i in s:
	if i == '+':
		plus = plus + 1
	else:
		continue
list = []
for e in s:
	if e != '+':
		list.append(e)
	else:
		continue
list.sort()
for el in list:
	c = c + el + '+'
c = c[:-1]
print(c)


def do(a):
	if '+' not in a:
		print(a)
	else:
		b = a.split('+')
		c = sorted(b)
		e = '+'.join(c)
		print(e)
a = input()
do(a)


a = input()
t = a.split('+')
t.sort()
for loop in range(len(t) - 1):
	print(t[loop], end='+')
print(t[len(t) - 1])


masukan = input()
masukanl = []
for i in masukan.split('+'):
	masukanl = masukanl + [int(i)]
masukanl.sort()
output = ''
for i in range(0, len(masukanl) - 1):
	output = output + str(masukanl[i])
	output = output + '+'
output = output + str(masukanl[-1])
print(output)


a = [int(x) for x in input().split('+')]
a.sort()
i = 1
for x in a:
	if i != len(a):
		print(x, end='')
		print('+', end='')
	else:
		print(x, end='')
	i = i + 1


lst = list(map(int, input().split('+')))
print('+'.join((str(i) for i in sorted(lst))))


s = input()
l = []
for i in range(len(s)):
	if s[i] == '1' or s[i] == '2' or s[i] == '3':
		l.append(s[i])
l.sort()
for i in range(len(l)):
	if i == len(l) - 1:
		print(f'{l[i]}')
		break
	print(f'{l[i]}+', end='')


a = [int(i) for i in input().split('+')]
b = 0
n = len(a)
for i in range(n - 1):
	for j in range(n - i - 1):
		if a[j] > a[j + 1]:
			(a[j], a[j + 1]) = (a[j + 1], a[j])
print(*a, sep='+')


n = input()
lst = n.split('+')
lst = sorted(lst)
ans = ''
for i in lst:
	ans += i
	ans += '+'
print(ans[:-1])


a = input().split('+')

def search(a, b):

	def loop(x, a):
		if x <= len(a) - 1:
			if b == a[x]:
				return x
			else:
				return loop(x + 1, a)
		else:
			return None
	return loop(0, a)

def out(a, b):
	k = search(a, b)
	return a[:k] + a[k + 1:]

def arrange(a):
	if a == []:
		return a
	else:
		return [min(a)] + arrange(out(a, min(a)))

def plus(a):
	if len(a) == 1:
		return a[0]
	if len(a) > 1:
		return str(a[0]) + '+' + str(plus(a[1:]))
print(plus(arrange(a)))


string = input().strip().split('+')
string.sort()
print('+'.join(string))


n = input()
l = n.split('+')
l.sort()
s = '+'
print(s.join(l))


print('+'.join(sorted(input().split('+'), key=int)))


s = input()
if len(s) == 1:
	print(s)
else:
	s1 = [str(x) for x in s]
	ls1 = s1[0::2]
	ls1.sort()
	l = '+'
	l = l.join(ls1)
	print(l)


l = [int(s) for s in input().split('+')]
l.sort()
mot = ''
for i in l:
	mot += str(i) + '+'
mot = mot[:-1]
print(mot)


n = input()
if len(n) == 1:
	print(n)
else:
	n = list(n)
	temp = ''
	for i in range(len(n)):
		if n[i] != '+':
			temp = temp + n[i]
	temp = list(temp)
	temp.sort()
	temp1 = ''
	for i in range(len(temp)):
		temp1 = temp1 + temp[i]
	print(temp1[0], end='')
	for i in range(1, len(temp1)):
		print('+', end='')
		print(temp1[i], end='')


k = list(map(int, input().split('+')))
k = sorted(k)
for i in range(0, len(k)):
	k[i] = str(k[i])
r = '+'
r = r.join(k)
print(r)


expression = input()
numbers = expression.split('+')
numbers.sort()
print('+'.join(numbers))


empty_str = ''
inp = sorted(input().split('+'))
for numbers in inp:
	empty_str += numbers + '+'
print(empty_str[0:len(empty_str) - 1])


s = input()
l = len(s)
arr = []
j = 0
for i in range(l):
	if i % 2 == 0:
		arr.append(int(s[i]))
		j += 1
for m in range(1, j):
	for n in range(0, j - m):
		if arr[n] > arr[n + 1]:
			(arr[n], arr[n + 1]) = (arr[n + 1], arr[n])
for k in range(j):
	if k == j - 1:
		print(arr[k], end='')
	else:
		s1 = str(arr[k]) + '+'
		print(s1, end='')


def main():
	unordered_sum = input()
	ordered_digits = sorted(unordered_sum.split('+'))
	ordered_sum = '+'.join(ordered_digits)
	print(ordered_sum)
main()


l = [x for x in input() if x != '+']
l.sort()
print('+'.join(l))


s = str(input())
nums = list(map(int, s.split('+')))
nums.sort()
for i in range(len(nums)):
	nums[i] = str(nums[i])
r = '+'.join(nums)
print(r)


s = input()
num = []
plus = []
for i in s:
	if i == '+':
		plus.append(i)
	else:
		num.append(i)
num.sort()
x = len(num)
for i in range(x - 1):
	print(num[i], plus[i], sep='', end='')
print(num[x - 1])


str = input()
lis = []
for i in str:
	if i != '+':
		lis.append(int(i))
lis = sorted(lis)
for i in range(len(lis)):
	print(lis[i], end='')
	if i != len(lis) - 1:
		print('+', end='')


s = input()
x = sorted(s[::2])
print('+'.join((str(i) for i in x)))


def helpfulMaths(str):
	arr = []
	stg = ''
	for s in range(len(str)):
		arr.append(str[s])
	for a in range(0, len(arr)):
		if arr[a] != '+':
			for b in range(0, len(arr)):
				if arr[b] != '+':
					if arr[a] < arr[b]:
						temp = arr[a]
						arr[a] = arr[b]
						arr[b] = temp
	for a in arr:
		stg += a
	print(stg)
helpfulMaths(input())


def get_values():
	string = list(input())
	new_string = [m for m in string if m is not '+']
	new_string = sorted(new_string)
	result = ''
	output = ''
	for i in range(len(new_string)):
		result += new_string[i] + '+'
		list_result = list(result)
		list_result.pop()
	for i in list_result:
		output += i
	return print(output)
get_values()


a = input()
b = a[::2]
c = sorted(b)
print('+'.join(c))


arth = list(input())
addition = []
for num in arth:
	if num.isnumeric():
		addition.append(num)
addition.sort()
print('+'.join(addition))


import sys
a = sorted(sys.stdin.readline().strip().split('+'))
last = a.pop()
for c in a:
	print(c, end='+')
print(last)


inp = input()
counter = inp.count('1')
ans = ''
for i in range(counter):
	ans = ans + '1+'
counter = inp.count('2')
for i in range(counter):
	ans = ans + '2+'
counter = inp.count('3')
for i in range(counter):
	ans = ans + '3+'
length = len(ans)
print(ans[:length - 1])


n = input()
container = []
for i in n:
	if '+' not in i:
		container.append(i)
container.sort()
r = ''
for i in range(len(container)):
	if i < len(container) - 1:
		r += container[i] + '+'
	else:
		r += container[i]
print(r)


print('+'.join([str(i) for i in sorted([int(x) for x in input().split('+')])]))


s = list(map(int, input().split('+')))
s.sort()
ans = str(s[0])
for i in s[1:]:
	ans += '+' + str(i)
print(ans)


try:
	s = input()
	s = s.replace('+', '')
	res = ''.join(sorted(s))
	res = res.replace('', '+')
	res = res.strip('+')
	print(res)
except Exception:
	pass


a = list(map(int, input().split('+')))
a.sort()
s = ''
n = len(a)
for x in a:
	n -= 1
	if n == 0:
		s += str(x)
	else:
		s += str(x) + '+'
print(s)


def main():
	input_str = input()
	input_str = input_str.replace('+', '')
	ones = ''
	twos = ''
	threes = ''
	for number in input_str:
		if int(number) == 1:
			ones += '1+'
		elif int(number) == 2:
			twos += '2+'
		elif int(number) == 3:
			threes += '3+'
	answer = ones + twos + threes
	print(answer[:-1] if answer[-1] == '+' else answer)
main()


s = input()
l = []
for i in range(len(s)):
	if s[i] != '+':
		l.append(s[i])
l.sort()
print('+'.join(l))


nums = list(map(int, input().split('+')))
nums.sort()
ans = ''
for i in nums:
	ans += str(i) + '+'
print(ans[:-1])


def main():
	s = input()
	l = list(s.split('+'))
	l.sort()
	m = 1
	for i in l:
		if m == len(l):
			print(i, end='')
		else:
			print(i + '+', end='')
		m += 1
main()


a = [int(x) for x in input().split('+')]
a.sort()
b = ''
for i in a:
	b += '+' + str(i)
print(b[1:])


def precalc(task):
	A = []
	s = ''
	for i in range(len(task)):
		if task[i] != '+':
			s += task[i]
		else:
			A.append(int(s))
			s = ''
	if s != '':
		A.append(int(s))
	return A
task = input()
mass = precalc(task)
mass = sorted(mass)
answer = ''
for i in range(len(mass)):
	if i != len(mass) - 1:
		answer += str(mass[i]) + '+'
	else:
		answer += str(mass[i])
print(answer)


a = list(map(int, input().split('+')))
a.sort()
for i in range(len(a) - 1):
	print(a[i], '+', sep='', end='')
print(a[-1])


x = input('')
x_list = []
for i in range(0, len(x)):
	x_list = x.split('+')
x_list.sort()
print('+'.join(x_list))


s = list(input().replace('+', ''))
s.sort()
print('+'.join(s))


x = input()
y = len(x) + 1
z = []
for i in range(1, y):
	if i % 2 == 1:
		z.append(x[i - 1])
z = sorted(z)
yy = len(z)
m = []
for i in range(0, yy):
	m.append(z[i])
	m.append('+')
print(''.join(m[:-1]))


string = input().split('+')
print(*sorted(string), sep='+')


data = sorted(list(map(int, input().split('+'))))
print('+'.join(map(str, data)))


x = [int(y) for y in input().split('+')]
x.sort()
print(*x, sep='+')


a = list(map(int, input().rstrip().split('+')))
if len(a) == 1:
	print(''.join(map(str, a)))
	exit()
a.sort()
b = [str(i) + '+' for i in a[:-1]]
print(''.join(b) + str(a[-1]))


s = input()
n = ''
a = ''
if len(s) == 1:
	print(s)
else:
	for i in range(len(s)):
		if int(i) == 0 or int(i) % 2 == 0:
			n += s[i]
n = sorted(n)
for i in range(0, len(n)):
	a += n[i] + '+'
a = a[0:-1]
print(a)


n = input()
l = []
for i in n:
	if i.isdigit():
		l.append(i)
l.sort()
print('+'.join(l))


string = input()
numbers = []
for i in string:
	if i.isnumeric():
		numbers.append(i)
numbers.sort()
print(numbers[0], end='')
for i in numbers[1:]:
	print('+' + i, end='')


n = input('')
list1 = []
list2 = []
l = len(n) // 2
for i in range(len(n)):
	if n[i] == '+':
		continue
	else:
		list1.append(n[i])
list1.sort()
m = '+'.join(list1)
print(m)


h = input().split('+')
for (idx, i) in enumerate(h):
	h[idx] = int(i)
h.sort()
if len(h) > 1:
	print(*h, sep='+')
else:
	print(h[0])


def sort_string(s):
	x = list(map(int, s.split('+')))
	x.sort()
	x = list(map(str, x))
	k = '+'.join(x)
	print(k)
s = input()
sort_string(s)


problem = list(input())
one = 0
two = 0
three = 0
for i in problem:
	if i == '1':
		one = one + 1
	if i == '2':
		two = two + 1
	if i == '3':
		three = three + 1
rearrange = []
t1 = 0
t2 = 0
t3 = 0
while True:
	if one > t1:
		rearrange.append('1')
		t1 = t1 + 1
	else:
		break
while True:
	if two > t2:
		rearrange.append('2')
		t2 = t2 + 1
	else:
		break
while True:
	if three > t3:
		rearrange.append('3')
		t3 = t3 + 1
	else:
		break
output = '+'.join(rearrange)
print(output)


A = input()
x = 0
y = 0
z = 0
for i in range(len(A)):
	if A[i] == '1':
		x = x + 1
	if A[i] == '2':
		y = y + 1
	if A[i] == '3':
		z = z + 1
if y == 0 and z == 0:
	print('1+' * (x - 1) + '1')
if y != 0 and z == 0:
	print('1+' * x + '2+' * (y - 1) + '2')
if z != 0:
	print('1+' * x + '2+' * y + '3+' * (z - 1) + '3')


k = []
s = input()
for x in s:
	if x != '+':
		k.append(int(x))
k.sort()
print('+'.join(map(str, k)))


import sys
a = sys.stdin.readline().replace('\n', '').split('+')
a.sort()
print(a[0], end='')
for loop in range(1, len(a)):
	print('+' + a[loop], end='')


s = input()
b = []
c = ['1', '2', '3']
for i in s:
	if i in c:
		m = int(i)
		b.append(m)
b.sort()
p = b.pop()
s = ''
for j in b:
	s = s + str(j) + '+'
print(s + str(p))


s = input()
uno = s.count('1')
dos = s.count('2')
tres = s.count('3')
l = ('1', '2', '3')
final = []
for ele in l:
	for letter in s:
		if letter == ele:
			final.append(ele + '+')
s = ''.join(final)
print(s[:len(s) - 1])


sum2 = tuple(map(int, input().split('+')))
sum2 = sorted(sum2)
print(*sum2, sep='+')


s = input()
l = []
for i in range(len(s)):
	if i % 2 == 0:
		l.append(s[i])
l.sort()
st = ''
for i in range(len(l)):
	st = st + l[i] + '+'
s1 = ''
for i in range(len(st) - 1):
	s1 = s1 + st[i]
print(s1)


a = sorted(list(map(str, input().split('+'))))
print('+'.join(a))


nums = sorted(list(input().split('+')))
str = '+'.join(nums)
print(str)


def main():
	nums = [x for x in input().split('+')]
	nums.sort()
	st = '+'.join(nums)
	print(st)
main()


var = input()
var = var.split('+')
new_vars = sorted([int(x) for x in var])
str_vars = [str(x) for x in new_vars]
line = '+'.join(str_vars)
print(line)


s = list(map(int, input().split('+')))
p = ''
s.sort()
for i in range(int(len(s))):
	p += str(s[i]) + '+'
print(p[0:-1])


originalSum = input().split('+')
originalSum.sort()
originalSum[:-1] = [number + '+' for number in originalSum[:-1]]
print(''.join(originalSum))


equation = list(map(int, str(input()).split('+')))
equation.sort()
equation = list(map(str, equation))
print('+'.join(equation))


a = [w for w in input().split('+')]
a.sort(key=int)
print('+'.join((w for w in a)))


from bisect import insort
res = []
for i in input():
	if i.isdigit():
		insort(res, i)
print('+'.join(res))


s = input()
a = s.count('1') * '1' + s.count('2') * '2' + s.count('3') * '3'
for i in range(1, len(s), 2):
	a = a[:i] + '+' + a[i:]
print(a)


a = []
n = list(input().split('+'))
n = sorted(n)
for i in range(len(n) - 1):
	a += n[i] + '+'
a += n[len(n) - 1]
b = ''.join((str(e) for e in a))
print(b)


oper = input()
li = []
for i in range(0, len(oper), 2):
	li.append(int(oper[i]))
li.sort()
ans = str(li[0])
for i in range(1, len(li)):
	ans = ans + '+' + str(li[i])
print(ans)


a = input()
b = a.split('+')
c = list(map(int, b))
d = sorted(c)
print(d[0], end='')
for i in d[1:]:
	print('+' + str(i), end='')
print('')


import sys

def Xenia(a):
	b = str(a).split('+')
	b.sort()
	for item in b[0:-1]:
		print(item + '+', end='')
	print(b[-1])
Xenia(input())


s = input()
numbers = []
if len(s) <= 100:
	if len(s) == 1:
		print(s)
	else:
		for i in range(0, len(s)):
			if s[i] != '+':
				numbers.append(s[i])
		ordered = sorted(numbers)
		sum = ordered[0]
		for a in range(len(ordered) - 1):
			b = ordered.pop(1)
			sum = sum + '+' + b
		print(sum)


s = list(input())
l = []
k = ''
for i in s:
	if i != '+':
		l.append(i)
l.sort()
for i in l:
	k += i
	k += '+'
print(k[0:-1])


s = input()
nums = s.split('+')
res = '+'.join([num for num in sorted(nums)])
print(res)


s = str(input())
list1 = list(s)
for i in range(0, len(list1) - 1, 2):
	for j in range(0, len(list1) - 1, 2):
		if list1[j] > list1[j + 2]:
			temp = list1[j + 2]
			list1[j + 2] = list1[j]
			list1[j] = temp

def convert(s):
	str1 = ''
	return str1.join(s)
print(convert(list1))


n = input()
n = list(sorted(n))
l = n.count('+')
for i in range(l, len(n)):
	if i != l:
		print('+', end='')
	print(n[i], end='')


S = input().split('+')
S.sort()
ans = ''
for i in range(len(S)):
	if i == len(S) - 1:
		ans += S[i]
	else:
		ans += S[i]
		ans += '+'
print(ans)


x = input()
y = x.replace('+', '')
print('+'.join(sorted(y)) if x.find('+') == 1 else x)


nums = input().split('+')
nums.sort()
if len(nums) > 1:
	print('+'.join(nums))
else:
	print(nums[0])


x = input()
no_of_digits = len(x)
ilst = list()
index = 0
for i in x:
	if i == '+':
		ilst.append(index)
	index = index + 1
count = 0
lst = list()
try:
	for i in range(len(ilst)):
		try:
			y = x[ilst[i] + 1:ilst[i + 1]]
		except:
			y = x[ilst[i] + 1:]
		y = int(y)
		lst.append(y)
	fst = int(x[:ilst[0]])
	lst.append(fst)
	new_lst = list()
	for i in range(len(lst)):
		new = min(lst)
		new_lst.append(new)
		lst.remove(new)
	result = str(new_lst[0])
	for i in new_lst[1:]:
		result = result + '+' + str(i)
	print(result)
except:
	print(x)


s = input()
res = ''
n1 = s.count('1')
n2 = s.count('2')
n3 = s.count('3')
while n1 + n2 + n3 > 0:
	if n1 > 0:
		res += '1'
		n1 -= 1
	elif n2 > 0:
		res += '2'
		n2 -= 1
	elif n3 > 0:
		res += '3'
		n3 -= 1
	res += '+'
print(res[:-1])


s = input()
num = s.split('+')
for n in num:
	for i in range(len(num) - 1):
		if num[i] > num[i + 1]:
			(num[i], num[i + 1]) = (num[i + 1], num[i])
out = ''
for i in range(len(s) // 2):
	out += num[i] + '+'
out += num[-1]
print(out)


x = input().replace('+', '')
print('+'.join(sorted(x)))


a = input().split('+')
b = ''

def sort(a):
	for ii in range(len(a)):
		for i in range(len(a) - 1):
			if a[i] > a[i + 1]:
				(a[i], a[i + 1]) = (a[i + 1], a[i])
	return a
a = sort(a)
for i in range(len(a)):
	b += a[i]
	if i != len(a) - 1:
		b += '+'
print(b)


x = input()
a = []
for i in x:
	if i == '+':
		continue
	else:
		a.append(i)
a.sort()
c = ''
for b in a:
	c = c + b + '+'
print(c[0:-1], end='')


l = [int(i) for i in input().split('+')]
final_str = ''
l.sort()
for i in range(len(l) - 1):
	final_str += str(l[i]) + '+'
final_str += str(l[-1])
print(final_str)


a = sorted(input().split('+'))
for i in a[:-1]:
	print(i, '+', sep='', end='')
print(a[-1])


n = list(input())
parsed = []
for c in n:
	if c != '+':
		parsed.append(c)
parsed.sort()
i = 0
j = 0
while i < len(n):
	n[i] = parsed[j]
	i += 2
	j += 1
output = ''
for c in n:
	output = output + c
print(output)


seq = input()
nums = sorted(list(seq[::2]), reverse=True)
ans = []
for i in range(len(seq)):
	ans.append('+' if i & 1 else nums.pop())
print(''.join(ans))


inputString = input()
outputString = ''
i = 0
index1 = 0
index2 = 0
index3 = 0
while i < len(inputString):
	if int(inputString[i]) == 1:
		if index1 == i:
			outputString += '1+'
		else:
			outputString = outputString[:index1] + '1+' + outputString[index1:]
		index1 += 2
		index2 += 2
	elif int(inputString[i]) == 2:
		if index2 == i:
			outputString += '2+'
		else:
			outputString = outputString[:index2] + '2+' + outputString[index2:]
		index2 += 2
	else:
		outputString += '3+'
	i += 2
outputString = outputString[:len(outputString) - 1]
print(outputString)


array = list(map(int, input().split('+')))
array.sort()
a = len(array)
for x in range(a - 1):
	print(array[x], end='+')
print(array[-1])


sm = input()
new_sum = ''
numbers = []
for i in sm:
	if i != '+':
		numbers.append(i)
numbers.sort()
for j in numbers:
	new_sum = new_sum + (str(j) + '+')
print(new_sum[:-1])


str1 = list(map(int, input().split('+')))
str1.sort()
str2 = str(str1[0])
for y in range(1, len(str1)):
	str2 = str2 + '+' + str(str1[y])
print(str2)


str = input()
list1 = []
list2 = []
if len(str) > 2:
	for i in range(0, len(str), 2):
		list1.append(int(str[i]))
	for i in range(1, len(str) - 1, 2):
		list2.append(str[i])
	list1.sort()
	for i in range(len(list1) - 1):
		print(list1[i], sep='', end='')
		print(list2[i], sep='', end='')
	print(list1[i + 1])
else:
	print(str)


s = input()
s = s[::2]
a = list()
for ch in s:
	a.append(int(ch))
a.sort()
for i in range(len(s)):
	if i > 0:
		print('+', end='')
	print(a[i], end='')


s = input()
a = []
s1 = ''
for i in s:
	if i == '1' or i == '2' or i == '3':
		a.append(int(i))
a = sorted(a)
n = len(a)
for i in range(0, n - 1):
	s1 += str(a[i]) + '+'
s1 = s1 + str(a[n - 1])
print(s1)


l = list(input().split('+'))
l.sort()
m = ''
for i in range(len(l)):
	if i != len(l) - 1:
		m += l[i] + '+'
	else:
		m += l[i]
print(m)


n = input()
n_1 = 0
n_2 = 0
n_3 = 0
i = 0
while i < len(n):
	if n[i] == '1':
		n_1 += 1
	elif n[i] == '2':
		n_2 += 1
	else:
		n_3 += 1
	i += 2
x = ''
while n_1 > 0:
	x = x + '1'
	if n_1 > 1:
		x = x + '+'
	n_1 -= 1
if n_2 > 0:
	if x != '':
		x = x + '+'
while n_2 > 0:
	x = x + '2'
	if n_2 > 1:
		x = x + '+'
	n_2 -= 1
if n_3 > 0:
	if x != '':
		x = x + '+'
while n_3 > 0:
	x = x + '3'
	if n_3 > 1:
		x = x + '+'
	n_3 -= 1
print(x)


list = input().split('+')
for i in range(len(list))[::-1]:
	for j in range(i):
		if list[j] > list[j + 1]:
			(list[j], list[j + 1]) = (list[j + 1], list[j])
print('+'.join(list))


def main():
	nums = sorted([int(i) for i in ' '.join(input().replace('+', '')).split()])
	easy_maths = '+'.join([str(num) for num in nums])
	print(easy_maths)
main()


def matematyka_pomocna(slowo):
	lista = []
	for i in slowo:
		if i != '+':
			lista.append(int(i))
	lista = sorted(lista)
	for i in range(len(lista) - 1):
		print(lista[i], end='+')
	print(lista[-1])
slowo = input()
matematyka_pomocna(slowo)


inputs = input()
print('+'.join(sorted((inputs[i] for i in range(0, len(inputs), 2)))))


a = sorted(list(map(int, input().split('+'))))
for i in range(len(a)):
	print(a[i], end='')
	if i != len(a) - 1:
		print('+', end='')


string = input()
string1 = ''
string2 = ''
length = len(string)
length1 = len(string1)
for i in range(0, length, 2):
	if string[i] == '1':
		string1 += '1'
	else:
		pass
for i in range(0, length, 2):
	if string[i] == '2':
		string1 += '2'
	else:
		pass
for i in range(0, length, 2):
	if string[i] == '3':
		string1 += '3'
	else:
		pass
for i in range(length):
	if i % 2 == 0:
		string2 += string1[i // 2]
	elif i % 2 == 1 and int(i / 2) + 1 < length:
		string2 += '+'
	else:
		break
print(string2)


raw = input()
numbers = raw.split('+')
numbers = [int(x) for x in numbers]
numbers.sort()
numbers = [str(x) for x in numbers]
s = '+'
print(s.join(numbers))


s = input()
s = s.split('+')
s.sort()
ans = ''
for i in s:
	ans += i + '+'
ans = list(ans)
ans.pop()
print(''.join(map(str, ans)))


input = input()
x = input.split('+')
a = []
for i in range(0, len(x)):
	a.append(int(x[i]))
list.sort(a)
for i in range(0, len(x)):
	x[i] = str(a[i])
x = '+'.join(x)
print(x)


n = input()
m = []
m = n.split('+')
m.sort()
t = ''
for i in m:
	t = t + '+' + i
print(t[1:])


s = str(input())
l = []
for i in s:
	if i.isdigit():
		l.append(int(i))

def mergesort(ls):
	if len(ls) > 1:
		mid = len(ls) // 2
		l = ls[:mid]
		r = ls[mid:]
		mergesort(l)
		mergesort(r)
		i = j = m = 0
		while i < len(l) and j < len(r):
			if l[i] < r[j]:
				ls[m] = l[i]
				i += 1
			else:
				ls[m] = r[j]
				j += 1
			m += 1
		while i < len(l):
			ls[m] = l[i]
			i += 1
			m += 1
		while j < len(r):
			ls[m] = r[j]
			j += 1
			m += 1
mergesort(l)
if len(l) == 1:
	print(l[0])
else:
	for i in range(len(l) - 1):
		print(str(l[i]) + '+', end='')
	print(str(l[-1]))


t = input()
l = []
for i in range(len(t)):
	if t[i] != '+':
		l.append(t[i])
for i in range(len(l)):
	l[i] = int(l[i])
	i += 1
l.sort()
for i in range(len(l)):
	l[i] = str(l[i])
	i += 1
for i in range(len(l)):
	if i != len(l) - 1:
		print(l[i] + '+', end='')
	elif i == len(l) - 1:
		print(l[i])


w1 = input()
aw1 = w1.split('+')
aw1.sort()
w2 = ''
for x in aw1:
	w2 = w2 + x + '+'
w2 = w2[:-1]
print(w2)


n = input()
one = n.count('1')
two = n.count('2')
three = n.count('3')
new_digits = ''
for i in range(one):
	new_digits += '1+'
for j in range(two):
	new_digits += '2+'
for k in range(three):
	new_digits += '3+'
print(new_digits[:-1])


s = input()
s = s.replace('+', '')
y = list(s)
y = list(map(int, y))
y.sort()
y = list(map(str, y))
print('+'.join(y))


digits_s = str(input()).split('+')
digits = []
for digit in sorted(digits_s):
	digits.append(digit)
out = ''
for digit in digits[0:len(digits) - 1]:
	out += digit + '+'
out += digits[len(digits) - 1]
print(out)


s = input()
a = b = c = 0
for i in range(0, len(s), 2):
	if s[i] == '1':
		a += 1
	elif s[i] == '2':
		b += 1
	else:
		c += 1
d = '1+' * a + '2+' * b + '3+' * c
print(d[:-1])


s = input()
s = list(s)
s.sort()
s1 = ''
for i in s:
	if i != '+':
		s1 += i
		s1 += '+'
print(s1[:len(s1) - 1])


def main():
	s = [int(x) for x in input().split('+')]
	s.sort()
	print('+'.join([str(x) for x in s]))
	return 0
main()


s = list(map(str, input().split('+')))
print('+'.join(sorted(s)))


def fixDigits(s):
	newList = []
	oneList = []
	twoList = []
	threeList = []
	for x in s:
		if x == '1':
			oneList.append(x)
		elif x == '2':
			twoList.append(x)
		elif x == '3':
			threeList.append(x)
	for y in oneList:
		newList.append(y)
		newList.append('+')
	for z in twoList:
		newList.append(z)
		newList.append('+')
	for a in threeList:
		newList.append(a)
		newList.append('+')
	return ''.join(newList[:-1])
s = list(map(str, input().split('+')))
print(fixDigits(s))


x = input()
a = x.split('+')
if len(a) == 1:
	print(x)
elif len(a) > 1:
	b = sorted(a)
	c = ''
	d = c.join(b)
	m = []
	for i in range(0, len(d)):
		m.append(d[i])
		if i == len(d) - 1:
			break
		m.append('+')
	c = ''
	d = c.join(m)
	print(d)


str = input()
l = []
for i in range(0, len(str)):
	if not i % 2:
		l.append(str[i])
l.sort()
for j in range(len(l)):
	if j < len(l) - 1:
		print(l[j], end='+')
	elif j == len(l) - 1:
		print(l[j])


def main():
	res = []
	s = input()
	split = s.split('+')
	sorted_split = sorted(split)
	for i in range(len(sorted_split)):
		res.append(sorted_split[i])
		res.append('+')
	print(''.join(res[:len(res) - 1]))
main()


i = lambda : map(int, input().split('+'))
arr = list(i())
arr.sort()
string = ''
for i in arr:
	string += str(i) + '+'
string = string[:len(string) - 1]
print(string)


s = input()
p = []
r = []
if len(s) == 1:
	print(s, end='')
else:
	for i in range(len(s)):
		if s[i].isdigit():
			p.append(s[i])
	q = sorted(p)
	q = ''.join(q)
	for i in range(len(q)):
		if q[i].isdigit():
			r.append(q[i] + '+')
	r = ''.join(r)
	w = r[0:-1]
	print(w, end='')


n = list(input())
n = list(filter(lambda x: x != '+', n))
n.sort()
for i in range(len(n) - 1):
	print(n[i] + '+', end='')
print(n[len(n) - 1])


arr = []
a = input()
for x in a:
	if x != '+':
		arr.append(x)
arr.sort()
print(arr[0], end='')
n = len(arr)
for x in range(1, n):
	print('+', end='')
	print(arr[x], end='')


s = str(input())
liste = s.split('+')
liste.sort()
for i in range(len(liste) - 1):
	if liste[i].isnumeric():
		if i - 1 != len(liste):
			print(liste[i], end='')
			print('+', end='')
		else:
			print(liste[i], end='')
print(liste[len(liste) - 1])


n = input().split('+')
n.sort()
for i in range(len(n)):
	if i == len(n) - 1:
		print(n[i])
	else:
		print(n[i] + '+', end='')


t = input()
t = list(t)
u = t.count('+')
for i in range(u):
	t.remove('+')
t.sort()
for i in range(len(t) - 1):
	print(t[i], end='+')
print(t[-1])


j = 0
p = 1
x = input()
total = []
for i in x:
	if i != '+':
		j = int(i)
		total.append(j)
total.sort()
print('%s' % total[0], end='')
while p > 0 and p < len(total):
	print('+%s' % total[p], end='')
	p = p + 1


list = input().split('+')
int_list = []
for _ in list:
	int_list.append(int(_))
sorted_int_list = sorted(int_list)
sorted_string = ''
for _ in sorted_int_list:
	sorted_string += str(_) + ' '
sorted_str_list = sorted_string.strip().split(' ')
print('+'.join(sorted_str_list))


class Xenia:

	def __init__(self, line):
		self.line = line

	def xenia_pat(self):
		return '+'.join(''.join(sorted(self.line.split('+'))))
a = input()
b = Xenia(a)
c = b.xenia_pat()
print(c)


s = [int(i) for i in input().replace('+', '')]
s.sort()
s = [str(i) for i in s]
print('+'.join(s))


n1 = input()
l = [i for i in n1]
l1 = []
for i in range(0, len(l), 2):
	l1.append(int(l[i]))
l1.sort()
x = '+'.join((str(i) for i in l1))
print(x)


s = list(map(int, input().split('+')))
s = sorted(s)
n = ''
for i in range(len(s)):
	if i != len(s) - 1:
		n = n + str(s[i]) + '+'
	else:
		n = n + str(s[i])
print(n)


def rearrangement(a):
	out = []
	count = 0
	for item in a:
		item = int(item)
		a[count] = item
		count = count + 1
	for i in range(0, count):
		d = min(a)
		out.append(d)
		a.remove(d)
	return out
string = str(input(''))
pinacol = string.split('+')
ketone = rearrangement(pinacol)
p = 0
for items in ketone:
	items = str(items)
	ketone[p] = items
	p = p + 1
link = '+'
print(link.join(ketone))


lis = sorted(list(map(str, input().split('+'))))
outp = ''
for i in range(len(lis)):
	outp += lis[i] + '+'
print(outp[:-1])


s = input().split('+')
s.sort()
print(*s, sep='+')


x = input()
l = [int(i) for i in x if i != '+']
l2 = [l[0]]
for i in range(1, len(l)):
	for j in range(0, len(l2)):
		if l[i] <= l2[j]:
			l2.insert(j, l[i])
			break
	else:
		l2 = l2 + [l[i]]
l2 = [str(i) for i in l2]
print('+'.join(l2))


equation = list(str(input()))
out = ''
for i in equation:
	if i == '+':
		equation.remove(i)
for i in equation:
	i = int(i)
equation.sort()
for i in equation:
	i = str(i)
for i in equation[:-1]:
	out = out + i + '+'
out = out + equation[-1]
print(out)


a = input().split('+')

def sort(a):
	for i in range(0, len(a) - 1):
		for j in range(0, len(a) - 1 - i):
			if a[j] > a[j + 1]:
				t = a[j]
				a[j] = a[j + 1]
				a[j + 1] = t
sort(a)
s = ''
for i in range(0, len(a)):
	s = s + a[i]
	if i != len(a) - 1:
		s = s + '+'
print(s)


s1 = input()
num = [0, 0, 0, 0]
for _ in s1:
	if _ != '+':
		num[int(_)] += 1
answer = ''
for i in range(1, 4):
	for _ in range(num[i]):
		answer = answer + str(i) + '+'
print(answer[:-1])


s = input()
q = 0
w = 0
e = 0
for i in s:
	if i == '+':
		continue
	elif i == '1':
		q += 1
	elif i == '2':
		w += 1
	elif i == '3':
		e += 1
a = '1+' * q + '2+' * w + '3+' * e
a = a[0:-1]
print(a)


s = input()
s = ''.join(sorted(s.replace('+', '')))
s1 = s[0]
for i in range(1, len(s)):
	s1 = s1 + '+' + s[i]
print(s1)


import collections
nums = list(map(int, input().split('+')))
m = collections.defaultdict(int)
for n in nums:
	m[n] += 1
res = ''
for k in sorted(m.keys()):
	freq = m[k]
	while freq:
		res += str(k)
		freq -= 1
		res += '+'
print(res[:-1])


numList = [int(x) for x in input().split('+')]
numList.sort()
length = len(numList)
for i in range(1, length * 2 - 1, 2):
	numList.insert(i, '+')
for element in numList:
	print(element, end='')


s = input()
nums = s.split('+')
for i in range(len(nums)):
	nums[i] = int(nums[i])
nums.sort()
for i in range(len(nums)):
	nums[i] = str(nums[i])
final = '+'.join(nums)
print(final)


a = list(input())
b = []
if len(a) == 1:
	print(a[0])
else:
	for i in range(0, len(a)):
		if i % 2 == 0:
			b.append(a[i])
	b.sort()
	a.clear()
	for n in range(0, len(b)):
		a.append(b[n])
		if len(b) > 1:
			a.append('+')
	for m in range(0, len(a) - 1):
		print(a[m], end='')


try:
	import collections
	m = input()
	m = list(m)
	l = []
	for i in range(0, len(m)):
		if i % 2 == 0:
			l.append(int(m[i]))
	l = sorted(l)
	for i in range(0, len(l)):
		l[i] = str(l[i])
	print('+'.join(l))
except:
	pass


string = list(input())
n = len(string)
nstring = []
for i in range(n):
	if string[i] != '+':
		nstring.append(int(string[i]))
newstring = sorted(nstring)
nnewstring = []
nnewstring.append(str(newstring[0]))
for j in range(1, len(newstring)):
	nnewstring.append('+')
	nnewstring.append(str(newstring[j]))
print(''.join(nnewstring))


l = list(map(eval, input().split('+')))
l.sort()
for i in range(len(l) - 1):
	print(l[i], end='+')
print(l[-1])


s = input().split('+')
s.sort()
t = ''
for i in range(len(s)):
	t += s[i] + '+'
print(t[:-1])


inputstring = input()
inputstringtolist = list(inputstring.replace('+', ''))
sortandlisttostring = ' '.join(map(str, sorted(inputstringtolist)))
print(sortandlisttostring.replace(' ', '+'))


arr = input()
if len(arr) == 1:
	print(arr[0])
else:
	arr = arr.split('+')
	arr.sort()
	print('+'.join(arr))


query = input()
strArr = query.split('+')
strArr.sort()
if len(strArr) > 1:
	for i in range(0, len(strArr) - 1):
		print('{}'.format(strArr[i]), end='+')
	print(strArr[len(strArr) - 1])
else:
	print(strArr[0])


s = input().replace('+', ' ')
arr = list(map(int, s.split()))
arr.sort()
res = ''
n = len(arr)
for i in arr:
	res += str(i) + '+'
print(res[:2 * n - 1])


n = input()
s = list(n)
l = len(s)
a = []
for i in range(l):
	if i % 2 == 0:
		a.append(s[i])
a.sort()
ll = len(a) - 1
for j in range(ll):
	print(a[j] + '+', end='')
print(a[ll])


s = input()
l = list(s)
a = []
l.sort()
c = 0
for i in l:
	if i == '+':
		c = c + 1
l = l[c:]
for i in l:
	a.append(i)
	a.append('+')
a.pop()
print(''.join(a))


s = input()
l = sorted(list(s.split('+')))
print('+'.join(l))


s = sorted([int(x) for x in input().split('+')])
a = ''
for y in s:
	a = a + str(y) + '+'
print(a[:len(a) - 1])


fridge = list(map(int, input().split('+')))
fridge.sort()
print(*fridge, sep='+')


str_list = list(str(input()))
num_list = []
ans = ''
for c in str_list:
	if c != '+':
		num_list.append(int(c))
if len(num_list) < 2:
	ans += str(num_list[0])
else:
	num_list = sorted(num_list)
	ans += str(num_list[0]) + '+'
	for i in range(1, len(num_list) - 1):
		ans += str(num_list[i]) + '+'
	ans += str(num_list[-1])
print(ans)


equation = input()
equationList = equation.split('+')
equationList.sort()
equation = ''.join(equationList)
finalEquation = ''
i = 0
for char in equation:
	finalEquation = finalEquation + char
	if i < len(equation) - 1:
		finalEquation = finalEquation + '+'
	i = i + 1
print(finalEquation)


array = sorted([int(i) for i in input().split('+')])
for i in range(len(array)):
	if i == len(array) - 1:
		print(str(array[i]), end='')
		break
	print(str(array[i]) + '+', end='')


import heapq
array = input().split('+')
heapq.heapify(array)
result = []
for _ in range(len(array)):
	result.append(heapq.heappop(array))
print('+'.join(result))


math = list(input().split('+'))
list.sort(math)
print('+'.join(math))


l = input()
l2 = []
for i in range(0, len(l)):
	if l[i] != '+':
		l2.append(int(l[i]))
l2.sort()
s = ''
s += str(l2[0])
for i in range(1, len(l2)):
	s += '+'
	s += str(l2[i])
print(s)


lis = input().split('+')
sor = []
ones = 0
twos = 0
threes = 0
for i in range(len(lis)):
	if lis[i] == '1':
		ones += 1
	if lis[i] == '2':
		twos += 1
	if lis[i] == '3':
		threes += 1
for i in range(ones):
	sor.append(1)
	sor.append('+')
for i in range(twos):
	sor.append(2)
	sor.append('+')
for i in range(threes):
	sor.append(3)
	sor.append('+')
sor = sor[:-1]
for i in range(len(sor)):
	print(sor[i], end='')


string = str(input())
string = string.split('+')
string.sort()
for (index, value) in enumerate(string):
	if index != len(string) - 1:
		print(value, end='+')
	else:
		print(value, end='')


s = input()
l = []
for i in range(len(s)):
	if s[i].isnumeric():
		l.append(s[i])
	pass
l.sort()
for i in range(len(l)):
	print(l[i], end='')
	if i == len(l) - 1:
		break
	else:
		print('+', end='')
	pass


n = input()
l = []
for i in range(len(n)):
	if n[i].isnumeric():
		l.append(n[i])
lt = sorted(l)
p = len(l)
n = 0
while n < p:
	print(lt[n], end='')
	n += 1
	if n < p:
		print('+', end='')


n = input().split('+')
n = sorted(n)
print(*n, sep='+')


array = list(input())
i = j = 0
while i < len(array):
	j = i
	while j < len(array):
		if array[i] > array[j]:
			(array[i], array[j]) = (array[j], array[i])
		j = j + 2
	i = i + 2
print(''.join(array))


s = input()
lst = []
x = ''
w = s.split('+')
for i in w:
	lst.append(int(i))
l = sorted(lst)
for i in range(len(l)):
	if i == len(l) - 1:
		x = x + str(l[i])
	else:
		x = x + str(l[i]) + '+'
print(x)


string = input()
nums = string.split('+')
nums = [int(x) for x in nums]
nums = sorted(nums)
length = len(nums)
for i in range(length - 1):
	print(nums[i], end='+')
print(nums[length - 1])


s = input()
nums = []
sub = ''
for c in s:
	if c == '+':
		nums += [int(sub)]
		sub = ''
	else:
		sub += c
nums += [int(sub)]
for i in range(len(nums) - 1):
	for j in range(i + 1, len(nums)):
		if nums[j] < nums[i]:
			(nums[i], nums[j]) = (nums[j], nums[i])
res = ''
for n in nums[:-1]:
	res += str(n) + '+'
res += str(nums[-1])
print(res)


n = [int(x) for x in input().split('+')]
n.sort()
z = str(n[0])
for i in range(1, len(n)):
	z = z + '+' + str(n[i])
print(z)


a = list(map(int, input().split('+')))
N = len(a)
for i in range(N - 1):
	for j in range(N - i - 1):
		if a[j] > a[j + 1]:
			(a[j], a[j + 1]) = (a[j + 1], a[j])
print('+'.join([str(i) for i in a]))


s1 = input()
l = []
for i in s1:
	if i == '+':
		continue
	else:
		l.append(i)
l = sorted(l)
t = len(l)
s = 1
for i in l:
	print(i, end='')
	if s == t:
		break
	else:
		print('+', end='')
	s += 1


import math
s = input()
m = len(s)
n = math.ceil(m / 2)
l = []
for i in range(n):
	l.append(s[2 * i])
l.sort()
for i in range(n):
	print(l[i], end='')
	if i != n - 1:
		print('+', end='')


a = input()
cnt = 0
y = ''.join(sorted(a))
for i in range(0, len(a)):
	if y[i] == '+':
		cnt = cnt + 1
z = y[cnt:]
res = '+'.join((z[i:i + 1] for i in range(0, len(z), 1)))
print(res)


lis = [int(x) for x in input().split('+')]
lis.sort()
s = ''
if len(lis) > 1:
	for i in lis:
		s += str(i) + '+'
	print(s[:-1])
else:
	print(lis[0])


def main():
	s = input()
	l = s.split('+')
	l.sort()
	print('+'.join(l))
main()


s = input()
nums = s.split('+')
nums.sort()
output_s = nums[0]
for x in nums[1:]:
	output_s += '+' + str(x)
print(output_s)


a = input()
b = list(map(int, a.split('+')))
b.sort()
b1 = str(b[0])
for i in range(1, len(b)):
	b1 = b1 + '+' + str(b[i])
print(b1)


l = list(map(int, input().split('+')))
l.sort()
for i in l[:len(l) - 1]:
	print(i, end='+')
print(l[-1])


n = input()
v = []
c = [i for i in n if i != '+']
a = sorted(c)
for i in range(len(a)):
	v.append(a[i])
	if i != len(a) - 1:
		v.append('+')
b = ''.join(v)
print(b)


a = input()
s = ['+' for x in range(len(a))]
m = []
for i in range(len(a)):
	if a[i] != '+':
		m.append(int(a[i]))
m.sort()
i = 0
j = 0
while i < len(m) and j < len(s):
	s[j] = m[i]
	j += 2
	i += 1
print(''.join(map(str, s)))


x = input()
u = 0
d = 0
t = 0
r = []
res = ''
for i in x:
	if i == '1':
		u += 1
	elif i == '2':
		d += 1
	elif i == '3':
		t += 1
for i in range(u):
	r.append('1')
	r.append('+')
for i in range(d):
	r.append('2')
	r.append('+')
for i in range(t):
	r.append('3')
	r.append('+')
r[len(r) - 1] = ''
for i in range(len(r)):
	res += r[i]
print(res)


a = input()
aa = []
for i in a:
	if i != '+':
		aa.append(int(i))
a3 = sorted(aa)
a4 = ''
pos = 0
for i in a3:
	a4 = a4 + str(a3[pos]) + '+'
	pos += 1
print(a4[:-1])


E = input().split('+')
u = sorted(E)
print('+'.join(u))


s = [int(x) for x in input().split('+')]
s.sort()
res = str(s[0])
for x in s[1:]:
	res = res + '+' + str(x)
print(res)


l = input().split('+')
l.sort()
s = ''
for d in l:
	s += d + '+'
print(s[:-1])


numbersIn = str(input())
numbersWithSign = numbersIn.split()
numbers = []
for i in numbersWithSign[0]:
	if i != '+':
		numbers.append(int(i))
numbers.sort()
finalOut = ''
if len(numbers) == 1:
	finalOut = str(numbers[0])
else:
	index = 0
	while index == 0 and index != len(numbers) - 1:
		for i in numbers:
			finalOut += str(i) + '+'
			index += 1
if finalOut.endswith('+'):
	finalOut = finalOut[:-1]
print(finalOut)


ln = sorted([int(i) for i in input().split('+')])
a = ln.pop()
out_str = ''
for i in ln:
	out_str += str(i) + '+'
out_str += str(a)
print(out_str)


s = str(input())
if len(s) == 1:
	print(s)
else:
	for i in range(len(s)):
		s = s.replace('+', '')
	s = sorted(s)
	a = ''
	for i in range(len(s)):
		if i == 0:
			a = s[0]
		else:
			a = a + '+' + s[i]
	print(a)


sum_exp = [int(x) for x in list(input().split('+'))]
sum_exp.sort()
res = '+'.join((str(x) for x in sum_exp))
print(res)


a = [int(i) for i in input().split('+')]
t = 0
for i in range(len(a)):
	c = 0
	for j in range(len(a) - i):
		if a[j] > a[c]:
			c = j
	t = a[c]
	a[c] = a[len(a) - (i + 1)]
	a[len(a) - (i + 1)] = t
for z in range(len(a) - 1):
	print(a[z], end='+')
print(a[len(a) - 1])


s = list(input())
s = [s[x] for x in range(0, len(s), 2)]
s.sort()
while len(s) != 1:
	print(s[0], end='+')
	s = s[1:]
print(s[0])


s = input()
one = s.count('1')
two = s.count('2')
three = s.count('3')
val = ''
if one != 0:
	one -= 1
	val += '1'
elif two != 0:
	two -= 1
	val += '2'
else:
	three -= 1
	val += '3'
val += ('+' + '1') * one
val += ('+' + '2') * two
val += ('+' + '3') * three
print(val)


a = input()
b = list(a)
c = len(b)
x = 0
liste = []
while c != 0:
	c -= 1
	x -= 1
	try:
		b[x] = int(b[x])
		liste.append(b[x])
	except:
		pass
liste.sort()
print(*liste, sep='+')


x = input().split('+')
count1 = 0
count2 = 0
count3 = 0
for i in range(len(x)):
	x[i] = int(x[i])
	if x[i] == 1:
		count1 += 1
	elif x[i] == 2:
		count2 += 1
	elif x[i] == 3:
		count3 += 1
str = ''
for i in range(count1):
	str += '1+'
for i in range(count2):
	str += '2+'
for i in range(count3):
	str += '3+'
print(str[:-1])


a = list(input())
x = []
y = []
z = []
for i in range(0, len(a)):
	if a[i] == '1':
		x.append('1')
	elif a[i] == '2':
		y.append('2')
	elif a[i] == '3':
		z.append('3')
xyz = x + y + z
a = '+'.join((str(e) for e in xyz))
print(a)


a = input().split('+')
a.sort()
b = a[0]
if len(a) > 1:
	for i in range(1, len(a)):
		b = b + '+' + a[i]
print(b)


numbers = input().split('+')
numbers.sort()
output = []
length = len(numbers)
for i in range(length - 1):
	output.append(numbers[i])
	output.append('+')
output.append(numbers[-1])
print(''.join(output))


class solution:

	def __init__(self, list1):
		self.list1 = list1
		self.list2 = []
		self.list3 = ['1', '2', '3']
		del list1
		self.i = 0
		self.j = 0
		self.k = 0
		self.dict1 = {'1': self.one(), '2': self.two(), '3': self.three()}

	def rd_list(self):
		for i in self.list3:
			self.dict1[i]

	def wt_list(self):
		for i in range(self.i):
			self.list2.append('1')
			self.list2.append('+')
		for i in range(self.j):
			self.list2.append('2')
			self.list2.append('+')
		for i in range(self.k):
			self.list2.append('3')
			self.list2.append('+')
		self.list2.pop()

	def prt_list(self):
		for i in self.list2:
			print(i, end='')
		print('')

	def one(self):
		for i in self.list1:
			if i == '1':
				self.i += 1

	def two(self):
		for i in self.list1:
			if i == '2':
				self.j += 1

	def three(self):
		for i in self.list1:
			if i == '3':
				self.k += 1

	def execute(self):
		self.rd_list()
		self.wt_list()
		self.prt_list()

def main():
	str1 = input()
	list1 = str1.split('+')
	s1 = solution(list1)
	s1.execute()
main()


a = input()
b = []
c = ''
for i in range(len(a)):
	if i % 2 == 0:
		b.append(int(a[i]))
for i in range(len(a)):
	if i % 2 == 0:
		c += str(min(b))
		b.remove(min(b))
	else:
		c += '+'
print(c)


operation = str(input())
numbers = operation.split('+')
numbers = sorted(numbers)
operation = '+'.join(numbers)
print(str(operation))


a = [str(a) for a in input().split('+')]
result = ''
for i in sorted(a):
	result += f'{i}+'
print(result[:-1])


s = input()
l = list(s)
k = s.split('+')
t = list()
for i in range(len(k)):
	t.append(int(k[i]))
t.sort()
for i in range(0, len(l), 2):
	j = int(i / 2)
	l[i] = str(t[j])
print(''.join(l))


import sys
a = input()
a = a.split('+')
a.sort()
print('+'.join(a))


import math
s = str(input()).split('+')
a = []
for i in range(0, len(s)):
	a.append(int(s[i]))

def merge(a, p, q, r):
	left = [a[i] for i in range(p, q + 1)]
	right = [a[i] for i in range(q + 1, r + 1)]
	left.append(math.inf)
	right.append(math.inf)
	i = j = 0
	for k in range(p, r + 1):
		if left[i] <= right[j]:
			a[k] = left[i]
			i += 1
		else:
			a[k] = right[j]
			j += 1

def merge_sort(a, p, r):
	if p < r:
		q = (p + r) // 2
		merge_sort(a, p, q)
		merge_sort(a, q + 1, r)
		merge(a, p, q, r)
	return a
a = merge_sort(a, 0, len(a) - 1)
c = []
for i in range(0, len(a)):
	c.append(str(a[i]))
b = '+'
print(b.join(c))


s = [int(i) for i in input().split('+')]
s.sort()
for i in range(len(s)):
	if i != len(s) - 1:
		print(f'{s[i]}+', end='')
	else:
		print(s[i], end='')


numbers = list(map(int, input().split('+')))
print('+'.join((str(s) for s in sorted(numbers))))


s = input()
ll = s.split('+')
ll.sort()
s = '+'.join(ll)
print(s)


input = input()
nums = input.split('+')
nums = [int(i) for i in nums]
nums.sort()
output = ''.join([str(i) + '+' for i in nums])
print(output[0:len(output) - 1])


def solve(s):
	return '+'.join(map(str, sorted(map(int, s.split('+')))))
s = input()
print(solve(s))


s = list(map(str, input().split('+')))
print('+'.join((i for i in sorted(s))))


x = input().split('+')
x = '+'.join(sorted(x))
print(x)


s = input()
o = s.count('1')
t = s.count('2')
th = s.count('3')
ans = ''
for i in range(0, o):
	ans += '1+'
for i in range(0, t):
	ans += '2+'
for i in range(0, th):
	ans += '3+'
print(ans[:len(ans) - 1])


s = list(map(int, input().split('+')))
s.sort()
print('+'.join((str(x) for x in s)))


ch = input()
ch1 = ''
L = ch.split('+')
if len(L) == 1:
	print(L[0])
else:
	L.sort()
	for i in range(len(L) - 1):
		ch1 += L[i] + '+'
	print(ch1 + L[len(L) - 1])


x = input()
sum = ''
x = x.replace('+', ' ').split()
y = []
for i in range(len(x)):
	y.append(int(x[i]))
y.sort()
for i in range(len(y)):
	sum += str(y[i]) + '+'
sum = sum[:-1]
print(sum)


s1 = input()
l1 = []
for i in s1:
	if i == '+':
		continue
	else:
		l1.append(i)
l1.sort()
s2 = ''
for i in range(len(l1)):
	s2 = s2 + l1[i]
	if i < len(l1) - 1:
		s2 = s2 + '+'
print(s2)


s = input().strip()
a = list(s.split('+'))
a.sort()
print('+'.join((str(i) for i in a)))


string = list(map(int, input().split('+')))
string.sort()
out = ''
for i in string:
	out += str(i) + '+'
print(out[:len(out) - 1])


summ = input()
lst = []
for i in summ:
	if i != '+':
		lst.append(i)
lst.sort()
print('+'.join(lst))


line = list(map(int, input().split('+')))
line.sort()
print('+'.join(map(str, line)))


s = input()
a = [int(i) for i in s if i != '+']
a = sorted(a)
print('+'.join(map(str, a)))


t = sorted(input().split('+'))
ans = ''
for i in range(len(t)):
	ans += t[i] + '+'
print(ans[:-1])


s = input()
l = []
for i in range(0, len(s), 2):
	l.append(s[i])
l.sort()
string = '' + l[0]
i = 1
for _ in range(len(l) - 1):
	string += '+'
	string += l[i]
	i += 1
print(string)


n = input()
x = y = z = 0
for i in range(0, len(n), 2):
	if n[i] == '1':
		x += 1
	elif n[i] == '2':
		y += 1
	else:
		z += 1
m = '1+' * x + '2+' * y + '3+' * z
print(m[:-1])


l = [x for x in input().split('+')]
l1 = sorted(l)
print(*l1, sep='+')


s = input()
freq = [0, 0, 0]
for char in s:
	if char == '+':
		continue
	freq[int(char) - 1] += 1
result = ''
for i in range(len(freq)):
	for _ in range(freq[i]):
		result += str(i + 1) + '+'
result = result[:-1]
print(result)


s = input()
chisl = []
for i in s:
	if i.isdigit() == True:
		chisl.append(int(i))
if len(s) == 1:
	print(s)
else:
	new_chisl = sorted(chisl)
	i = 0
	sk = ''
	for i in range(len(new_chisl)):
		if i == len(new_chisl) - 1:
			sk += str(new_chisl[i])
		else:
			sk += str(new_chisl[i]) + '+'
	print(sk)


line = input()
numbers = line.split('+')
numbers.sort()
answer = '+'.join(numbers)
print(answer)


inp = input()
arr = inp.split('+')
arr = sorted(arr)
print(*arr, sep='+')


x = list(input().split('+'))
x.sort()
y = len(x)
z = x.pop(y - 1)
for i in x:
	print(str(i) + '+', end='')
print(z)


def orderSummands():
	summands = input()
	nonDecreasingOrder = removeSummands(summands)
	printToConsole(nonDecreasingOrder)

def removeSummands(summands):
	summandsList = summands.split('+')
	for i in range(len(summandsList) - 1):
		for j in range(len(summandsList) - i - 1):
			if summandsList[j + 1] < summandsList[j]:
				(summandsList[j], summandsList[j + 1]) = (summandsList[j + 1], summandsList[j])
	return summandsList

def printToConsole(nonDecreasingOrder):
	print('+'.join(nonDecreasingOrder))
orderSummands()


d = input()
data = []
for m in d:
	if m != '+':
		data.append(m)
data.sort()
print(data[0], end='')
if len(data) > 1:
	for n in range(len(data) - 1):
		print('+' + data[n + 1], end='')


l = list(input())
(p, q) = ([], [])
for i in l:
	if i != '+':
		p.append(i)
	else:
		q.append('+')
p.sort()
s = ''
for i in p:
	s += i
	try:
		s += q.pop()
	except IndexError:
		continue
print(s)


print('+'.join(sorted(input().replace('+', ''))))


my_input = list(input().split('+'))
print('+'.join(sorted(my_input)))


a = list(map(int, input().split('+')))
a.sort()
b = list(map(str, a))
print('+'.join(b))


x = input()
list1 = list(x)
list2 = []
hi = ''
for i in list1:
	if i != '+':
		list2.append(i)
list2.sort()
n = len(list2)
if n == 1:
	print(x)
else:
	for i in range(0, n, 1):
		if i != n - 1:
			hi = hi + list2[i]
			hi = hi + '+'
		else:
			hi = hi + list2[i]
print(hi)


s = input().replace('+', '')
s = sorted(s)
ans = ''
for c in s:
	ans += c + '+'
print(ans[:-1])


problem = list(map(int, input().split('+')))
sorted_pm = sorted(problem)
new_str = ''
for i in range(0, len(sorted_pm)):
	if i != len(sorted_pm) - 1:
		new_str += str(sorted_pm[i]) + '+'
	elif i == len(sorted_pm) - 1:
		new_str += str(sorted_pm[i])
print(new_str)


import math
s = input().split('+')
s.sort()
res = ''
for i in s:
	res += i + '+'
res = res[:-1]
print(res)


s = input()
if len(s) == 1:
	print(s)
else:
	s = s.split('+')
	s.sort()
	temp = '+'.join(s)
	print(temp)


a = input()
a = a.split('+')
a.sort()
for i in range(len(a)):
	if i == len(a) - 1:
		print(a[i])
	else:
		p = a[i] + '+'
		print(p, end='')


a = input().split('+')
a = [int(i) for i in a]
a.sort()
a = [str(i) for i in a]
print('+'.join(a))


s = input()
a = 0
b = 0
c = 0
for i in range(len(s)):
	if s[i] == '1':
		a += 1
	elif s[i] == '2':
		b += 1
	elif s[i] == '3':
		c += 1
k = ''
for i in range(len(s)):
	if i <= 2 * a - 1 and i % 2 == 0:
		k += '1'
	if i % 2 != 0:
		k += '+'
	if i <= 2 * (b + a) - 1 and i > 2 * a - 1 and (i % 2 == 0):
		k += '2'
	if i > 2 * (a + b) - 1 and i % 2 == 0:
		k += '3'
print(k)


s = input()
l = []
for i in s:
	if i != '+':
		l.append(int(i))
l.sort()
r = ''
for i in range(len(l) - 1):
	r = r + str(l[i]) + '+'
print(r + str(l[-1]))


n = list(map(int, input().split('+')))
n.sort()
m = ''
for i in range(len(n)):
	m += str(n[i]) + '+'
print(m[:-1])


txt = input()
L = txt.split('+')
L = list(map(int, L))
L.sort()
ch = ''
for elt in L:
	ch += '+' + str(elt)
print(ch[1:])


ent = input()
sol = []
for one in range(ent.count('1')):
	sol.append('1')
for two in range(ent.count('2')):
	sol.append('2')
for three in range(ent.count('3')):
	sol.append('3')
print('+'.join(sol))


s = input()
ds = s.split('+')
one = 0
two = 0
three = 0
for x in range(0, len(ds)):
	if ds[x] == '1':
		one += 1
	elif ds[x] == '2':
		two += 1
	else:
		three += 1
f = []
for i in range(0, one):
	f.append('1')
for i in range(0, two):
	f.append('2')
for i in range(0, three):
	f.append('3')
print('+'.join(f))


s = list(input())
s.sort()
s2 = ''
s3 = ''
for ele in s:
	if ele != '+':
		s2 = s2 + ele + '+'
print(s2[:-1])


sent1 = list(input().split('+'))
sent2 = sorted(sent1)
st = ''
for i in sent2:
	st = st + '+' + i
st1 = st[1:]
print(st1)


s1 = input()
l = s1.split('+')
s = ''
l1 = []
for i in range(len(l)):
	l1.append(int(l[i]))
l1.sort()
for j in range(len(l)):
	s = s + str(l1[j]) + '+'
print(s[:-1])


op = input()
ord = []
res = ''
for i in range(len(op)):
	if op[i] != '+':
		ord.append(int(op[i]))
ord.sort()
for j in range(len(ord)):
	if j == len(ord) - 1:
		res += str(ord[j])
	else:
		res = res + str(ord[j]) + '+'
print(res)


def main():
	input_string = input()
	number_input = list()
	cur_index = 0
	while cur_index <= len(input_string):
		number_input.append(input_string[cur_index])
		cur_index += 2
	number_input.sort()
	for i in range(len(number_input)):
		print(number_input[i], end='')
		if i + 1 < len(number_input):
			print('+', end='')
main()


n = input().split('+')
mylist = list(n)
new_list = sorted(mylist)
res = ''
for i in new_list:
	res += i
res = '+'.join(res)
print(res)


x = [int(x) for x in input('').split('+')]
x.sort()
print('+'.join([str(y) for y in x]))


s = input()
l = []
for i in range(0, len(s), 2):
	l.append(int(s[i]))
l.sort()
print(l[0], end='')
for i in range(1, len(l)):
	print('+' + str(l[i]), end='')


import sys
print('+'.join(sorted(sys.stdin.read().split('\n')[0].split('+'))))


n = input()
l = []
if len(n) == 1:
	print(n[0])
else:
	for i in range(len(n)):
		if n[i] in '123':
			l.append(n[i])
	l.sort()
	n = l[0]
	for i in range(1, len(l) - 1):
		n = n + '+' + l[i]
	print(n + '+' + l[-1])


w = input()
(ones, twos, threes) = (w.count('1'), w.count('2'), w.count('3'))
s = ''
for i in range(ones):
	s += '1' + '+'
for i in range(twos):
	s += '2' + '+'
for i in range(threes):
	s += '3' + '+'
print(s[:-1])


List = []
s = input()
for i in range(0, len(s)):
	if i % 2 == 0:
		x = s[i]
		List.append(x)
List.sort()
for i in range(0, len(List)):
	if i == 0:
		print(List[i], end='')
	else:
		print('+' + List[i], end='')


import sys
p = [int(x) for x in input().split('+')]
p.sort()
for i in range(len(p) - 1):
	sys.stdout.write(str(p[i]))
	sys.stdout.write('+')
print(str(p[len(p) - 1]))


a = input()
p = ''
s = ''
t = 1
for i in range(0, len(a)):
	if a[i] != '+':
		p = p + a[i]
s = sorted(p)
p = ''
for i in range(0, len(s)):
	p = p + s[i]
while t < len(p):
	p = p[:t] + '+' + p[t:]
	t = t + 2
print(p)


t = list(map(int, input().split('+')))
t.sort()
for i in range(len(t)):
	t[i] = str(t[i])
t = '+'.join(t)
print(t)


n = input()
if len(n) == 1:
	print(n)
else:
	a = n.count('1')
	b = n.count('2')
	c = n.count('3')
	for i in range(a):
		if b == 0 and c == 0 and (i == a - 1):
			print('1', end='')
		else:
			print('1', '+', sep='', end='')
	for i in range(b):
		if c == 0 and i == b - 1:
			print('2', end='')
		else:
			print('2', '+', sep='', end='')
	for i in range(c):
		if i == c - 1:
			print('3', end='')
		else:
			print('3', '+', sep='', end='')


t = list(map(int, input().split('+')))
t.sort()
r = ''
for i in t:
	r += str(i) + '+'
print(r[:len(r) - 1])


s = input()
tab = []
for i in s:
	if i != '+':
		tab.append(i)
tab.sort()
print(format('+'.join(tab)))


s = input()
if len(s) < 2:
	print(s)
else:
	l = list(s)
	k = []
	for i in range(0, len(s)):
		if l[i] != '+':
			k.append(int(l[i]))
	k.sort()
	p = ''
	for j in range(0, len(k)):
		if j != len(k) - 1:
			p = p + str(k[j]) + '+'
		elif j == len(k) - 1:
			p = p + str(k[j])
	print(p)


a = [_ for _ in input()]
sign = '+'
i = sorted([j for j in a if j not in sign])
print('+'.join(i))


ls = [int(x) for x in input().split('+')]
ls.sort()
ls = [str(x) for x in ls]
x = '+'.join(ls)
print(x)


l1 = [int(i) for i in input().split('+')]
s = sorted(l1)
l = list(s)
length = len(l) - 1
new = ''
for i in range(0, length):
	new = new + str(l[i]) + '+'
new = new + str(l[length])
print(new)


x = input().split('+')
x.sort()
out = ''
for i in range(len(x) - 1):
	out += x[i] + '+'
out += x[len(x) - 1]
print(out)


plus = ['+']
serial = input()
arrange = sorted(serial)
for i in arrange[:]:
	if i in plus:
		arrange.remove(i)
print('+'.join(arrange))


import re
s = input()
nums = re.split('\\+', s)
nums = sorted(nums)
result = ''
for letter in nums:
	result = result + letter + '+'
print(result[0:len(result) - 1])


str = input()
a = []
if len(str) > 1:
	for i in range(len(str)):
		if str[i] == '1' or str[i] == '2' or str[i] == '3':
			a.append(str[i])
	a.sort()
	k = 0
	for i in range(len(str)):
		if i % 2 == 0:
			print(a[k], end='')
			k += 1
		else:
			print('+', end='')
else:
	print(str)


x = input()
x = list(x)
l = []
for i in range(len(x)):
	if x[i] == '+':
		x[i] = ''
	else:
		l.append(x[i])
x = sorted(l)
print('+'.join(x))


def getNewSum(sumstr):
	oc = 0
	tc = 0
	thc = 0
	for i in range(0, len(sumstr)):
		if sumstr[i] == '1':
			oc += 1
		elif sumstr[i] == '2':
			tc += 1
		elif sumstr[i] == '3':
			thc += 1
	rstr = ''
	while oc != 0 or tc != 0 or thc != 0:
		if oc >= 1:
			rstr += '1+'
			oc -= 1
		elif tc >= 1:
			rstr += '2+'
			tc -= 1
		elif thc >= 1:
			rstr += '3+'
			thc -= 1
	return rstr[:len(rstr) - 1]

def main():
	print(getNewSum(input()))
main()


a = input()
l = len(a)
c1 = a.count('1')
c2 = a.count('2')
c3 = a.count('3')
ans = ''
if c1 > 0:
	ans += '1' * c1
if c2 > 0:
	ans += '2' * c2
if c3 > 0:
	ans += '3' * c3
new = ''
for i in ans:
	new += i
	new += '+'
print(new[:l])


def main():
	a = list(map(str, input().split('+')))
	a.sort(reverse=False)
	a = '+'.join(a)
	print(a)
main()


a = sorted(input().split('+'))
c = ''
for i in a:
	c += i + '+'
b = c[:-1]
print(b)


l = list(input().split('+'))
l.sort()
print('+'.join(l), end='')


q = input()
p = sorted(q.split('+'))
x = ''
i = 0
for num in range(0, -(-len(q) // 2)):
	if 0 < i < -(-len(q) // 2):
		x = x + '+' + p[i]
	else:
		x = x + p[i]
	i = i + 1
print(x)


s = list(input())
print('+'.join(sorted(s[::2])))


import sys
data = sys.stdin.read().strip()
data = data.split('+')
data.sort()
out = '+'.join(data)
print(out)


s = []
s = input()
s1 = []
s2 = []
l = len(s)
c = 0
c1 = 0
while c < l:
	if s[c] == '1' or s[c] == '2' or s[c] == '3':
		s1.append(s[c])
	c += 1
s1 = sorted(s1)
l2 = len(s1)
while c1 < l2:
	s2.append(s1[c1])
	if c1 != l2 - 1:
		s2.append('+')
	c1 += 1
print(''.join(s2))


expn = input()
nums = ''
result = ''
for i in expn:
	if i.isdigit():
		nums += i
for i in sorted(nums):
	result += i + '+'
print(result[:-1])


s = input()
li = list(s)
for i in range(0, len(li) - 2, 2):
	for j in range(i + 2, len(li), 2):
		if int(li[i]) > int(li[j]):
			(li[i], li[j]) = (li[j], li[i])
print(''.join(li))


sum = input().split('+')
digits_count = {'1': 0, '2': 0, '3': 0}
for digit in sum:
	if digit in digits_count:
		digits_count[digit] += 1
sum = ''
for digit in digits_count:
	count = digits_count[digit]
	while count > 0:
		if sum:
			sum += '+' + digit
		else:
			sum = digit
		count -= 1
print(sum)


n = input()
a = 4 * [0]
for i in range(0, len(n), 2):
	a[int(n[i])] += 1
b = ''
for i in range(1, 4):
	while a[i] > 0:
		a[i] -= 1
		b += str(i)
print('+'.join(b))


linea = input().split('+')
n1 = 0
n2 = 0
n3 = 0
for i in range(len(linea)):
	if linea[i] == '1':
		n1 += 1
	elif linea[i] == '2':
		n2 += 1
	elif linea[i] == '3':
		n3 += 1
for i in range(n1):
	if i == n1 - 1 and n2 == 0 and (n3 == 0):
		print('1')
	else:
		print('1+', end='')
for i in range(n2):
	if i == n2 - 1 and n3 == 0:
		print('2')
	else:
		print('2+', end='')
for i in range(n3):
	if i == n3 - 1:
		print('3')
	else:
		print('3+', end='')


a = input()
b = a[::2]
b.split()
b = sorted(b)
print('+'.join(b))


s = str(input())
q = list()
for i in range(len(s)):
	if i % 2 == 0:
		a = s[i]
		q.append(a)
q.sort()
b = len(q)
c = 0
for i in range(b - 1):
	print(q[i], end='+')
print(q[b - 1])


s = input()
a = ''
for i in range(0, len(s), 2):
	a += s[i]
seq = sorted(a)
print('+'.join(seq))


a = input()
n1 = 0
n2 = 0
n3 = 0
for i in range(len(a)):
	if a[i] == '1':
		n1 = n1 + 1
	if a[i] == '2':
		n2 = n2 + 1
	if a[i] == '3':
		n3 = n3 + 1
str = ''
pl = '+'
o = '1'
d = '2'
t = '3'
if n1 > 0:
	for i in range(n1):
		str = str + pl + o
if n2 > 0:
	for i in range(n2):
		str = str + pl + d
if n3 > 0:
	for i in range(n3):
		str = str + pl + t
new_str = str.replace('+', '', 1)
print(new_str)


i = input()
ni = i.replace('+', '')
m = sorted(ni)
i = ''
for j in range(len(m)):
	i = i + m[j] + '+'
i = i[:-1]
print(i)


a = input()
b = []
for i in a:
	if i is not '+':
		b.append(i)
b.sort()
for i in range(len(b)):
	if i == len(b) - 1:
		print(b[i])
	else:
		print(b[i], end='+')


s = input().split('+')
new_s = []
for i in range(0, len(s)):
	new_s.append(s[i])
new_s = ' '.join(sorted(new_s)).replace(' ', '+')
print(new_s)


st = input()
stc = ''
l = []
for i in range(0, len(st), 2):
	l.append(st[i])
l.sort()
if len(l) != 1:
	print('+'.join(l))
else:
	print(st)


a = input()
a = a.split('+')
a.sort()
ans = ''
for i in range(len(a)):
	ans += a[i]
	if i == len(a) - 1:
		break
	else:
		ans += '+'
print(ans)


s = [int(x) for x in input().split('+')]
s.sort()
r = ''
for i in range(len(s) - 1):
	r = r + str(s[i]) + '+'
r = r + str(s[len(s) - 1])
print(r)


def bubbleSort(alist):
	for passnum in range(len(alist) - 1, 0, -1):
		for i in range(passnum):
			if alist[i] > alist[i + 1]:
				temp = alist[i]
				alist[i] = alist[i + 1]
				alist[i + 1] = temp
	return alist
a = input()
a = a.split('+')
for i in range(len(a)):
	a[i] = int(a[i])
a = bubbleSort(a)
b = ''
i = 0
for i in range(len(a)):
	if i != len(a) - 1:
		b = b + str(a[i]) + '+'
	else:
		b = b + str(a[i])
	i = i + 1
print(b)


s = input()
l = s.count('1') * '1' + s.count('2') * '2' + s.count('3') * '3'
print('+'.join(l))


a = list(map(str, input()))
j = k = l = 0
for i in a:
	if i == '1':
		j += 1
	elif i == '2':
		k += 1
	elif i == '3':
		l += 1
if j != 0:
	print(1, end='')
	j -= 1
elif k != 0:
	print(2, end='')
	k -= 1
elif l != 0:
	print(3, end='')
	l -= 1
for i in range(k + j + l):
	if i < j:
		print('+1', end='')
	elif i < j + k:
		print('+2', end='')
	else:
		print('+3', end='')


a = list(input().split('+'))
a.sort()
n = len(a)
for i in range(n - 1):
	print(a[i] + '+', end='')
print(a[n - 1])


string = input()
ls = []
for el in string:
	if el != '+':
		ls.append(el)
ls.sort()
for i in range(len(ls)):
	if i != len(ls) - 1:
		print(ls[i], end='+')
	else:
		print(ls[i])


s = input()
if len(s) == 1:
	print(int(s[0]))
else:
	s = s.split('+')
	s = sorted(s)
	s1 = '+'.join((x for x in s))
	print(s1)


st = input()
l = st.split('+')
l1 = sorted(l)
j = 0
for i in l1:
	if j + 1 is len(l1):
		print(i)
	else:
		print(i, end='+')
	j = j + 1


import sys
print('+'.join(sorted(sys.stdin.readline().strip().split('+'))))


s = input()
s1 = ''
s2 = ''
s3 = ''
for i in s:
	if i == '1':
		if s1 == '':
			s1 += i
		else:
			s1 += '+' + i
	elif i == '2':
		if s2 == '':
			s2 += i
		else:
			s2 += '+' + i
	elif i == '3':
		if s3 == '':
			s3 += i
		else:
			s3 += '+' + i
if s1 == '' and s2 == '':
	print(s3)
elif s1 == '' and s3 == '':
	print(s2)
elif s2 == '' and s3 == '':
	print(s1)
elif s1 == '':
	print(s2 + '+' + s3)
elif s2 == '':
	print(s1 + '+' + s3)
elif s3 == '':
	print(s1 + '+' + s2)
else:
	print(s1 + '+' + s2 + '+' + s3)


s = list(input())
for i in range(0, len(s) - 1, 2):
	minimum = i
	for j in range(i + 2, len(s), 2):
		if s[minimum] > s[j]:
			minimum = j
	temp = s[i]
	s[i] = s[minimum]
	s[minimum] = temp
for i in range(len(s)):
	print(s[i], end='')


t = input()
a = []
for i in range(len(t)):
	if t[i] == '1':
		a.append('1')
		a.append('+')
for i in range(len(t)):
	if t[i] == '2':
		a.append('2')
		a.append('+')
for i in range(len(t)):
	if t[i] == '3':
		a.append('3')
		a.append('+')
del a[len(a) - 1]
print(''.join(a))


s = input()
s = list(s)
k = []
for i in range(len(s)):
	if s[i] == '1':
		k.append(s[i])
	elif s[i] == '2':
		k.append(s[i])
	elif s[i] == '3':
		k.append(s[i])
k.sort()
for i in range(len(s)):
	if i % 2 != 0:
		k.insert(i, '+')
strl = ''.join(k)
print(strl)


s = input()
three = 0
two = 0
one = 0
for steps in range(0, len(s), 2):
	if s[steps] == '3':
		three += 1
	elif s[steps] == '2':
		two += 1
	else:
		one += 1
s = '1+' * one + '2+' * two + '3+' * three
print(s[:len(s) - 1])


s = [int(x) for x in input().split('+')]
s.sort()
t = ''
i = 0
for x in s:
	if i == len(s) - 1:
		break
	print(x, end='+')
	i += 1
print(s[len(s) - 1])


test = input()
count1 = test.count('1')
count2 = test.count('2')
count3 = test.count('3')
countplus = test.count('+')
res = ''
for i in range(count1):
	res += '1'
	if countplus > 0:
		res += '+'
		countplus -= 1
for i in range(count2):
	res += '2'
	if countplus > 0:
		res += '+'
		countplus -= 1
for i in range(count3):
	res += '3'
	if countplus > 0:
		res += '+'
		countplus -= 1
print(res)


S = str(input())
B = []
for i in range(0, len(S), 2):
	B.append(S[i])
B.sort()
for i in range(0, len(B)):
	if i == len(B) - 1:
		print(B[i], sep='', end='')
		break
	print(B[i], '+', sep='', end='')


soz1 = str(input())
array = ['1', '2', '3']
say = []
if len(soz1) < 100:
	for s in soz1:
		if s == '+':
			continue
		elif s in array:
			say.append(int(s))
		else:
			continue
	say.sort()
	chap = '+'.join(map(str, say))
	print(chap)
else:
	print('Different string counts')


x = input('')
list = []
m = x.split('+')
m.sort()
for i in m:
	if i is '1':
		list.append(i)
	elif i is '2':
		list.append(i)
	elif i is '3':
		list.append(i)
print('+'.join(list))


s = input()
s1 = ''
for i in s:
	if i == '+':
		s1 = s1 + ' '
	else:
		s1 = s1 + i
s1 = s1.split()
s1.sort()
s1 = '+'.join(s1)
print(s1)


a1 = input()
a = a1.split('+')
for x in range(len(a)):
	a[x] = int(a[x])
a.sort()
print('+'.join(map(str, a)))


num = list(map(int, input().split('+')))
print('+'.join(map(str, sorted(num))))


def swap(a1, a2):
	temp = a1
	a1 = a2
	a2 = temp

def Helpfulmaths(a):
	a1 = []
	for i in range(0, len(a), 2):
		for j in range(0, len(a) - i - 2, 2):
			if a[j] > a[j + 2]:
				temp = a[j]
				a[j] = a[j + 2]
				a[j + 2] = temp
	print(''.join(a))
a = list(str(input()))
Helpfulmaths(a)


s = list(map(int, input().split('+')))
b = sorted(s)
answer = ''
for i in b:
	answer += str(i) + '+'
answer = answer[:-1]
print(answer)


st = input()
for i in st:
	if i == '+':
		st = st.replace(i, '')
stlist = list(st)
stlist = sorted(stlist)
stlist = '+'.join(stlist)
print(stlist)


suma = list(input().split('+'))
suma = sorted(suma)
suma = '+'.join(suma)
print(suma)


c = list(map(int, input().split('+')))
c.sort()
st = ''
for i in range(len(c)):
	st = st + str(c[i]) + '+'
print(st[:-1])


l = input().split('+')
l = [int(x) for x in l]
l.sort()
m = len(l)
for x in range(m):
	print(l[x], end='')
	if x != m - 1:
		print('+', end='')


a = input()
b = list(a.split('+'))
b.sort()
c = '+'.join(b)
print(c)


math_problem = input()
math_problem = math_problem.split('+')
math_problem = sorted(math_problem)
math_problem = '+'.join(math_problem)
print(math_problem)


s = input()
fq = 4 * [0]
for i in range(0, len(s), 2):
	fq[int(s[i])] += 1
ns = ''
for i in range(1, 4):
	while fq[i] > 0:
		fq[i] -= 1
		ns += str(i)
print('+'.join(ns))


l = list(input().split('+'))
len = len(l)
l.sort()
print('+'.join(l))


a = list(map(int, input().split('+')))
a.sort()
for i in range(0, len(a)):
	if i > 0:
		print('+', sep='', end='')
	print(a[i], sep='', end='')


s = input()
li = []
for i in s:
	if i.isdecimal():
		li.append(i)
li = sorted(li)
print('+'.join(map(str, li)))


Sum = input('')
Sum = Sum.split('+')

def SumSort(Sum):
	for i in range(len(Sum)):
		for k in range(len(Sum) - 1, i, -1):
			if Sum[k] < Sum[k - 1]:
				swap(Sum, k, k - 1)
	return Sum

def swap(Sum, x, y):
	tmp = Sum[x]
	Sum[x] = Sum[y]
	Sum[y] = tmp
SumSort(Sum)
for n in range(len(Sum)):
	if n == len(Sum) - 1:
		print(Sum[n], end='')
	else:
		print(Sum[n] + '+', end='')


def solve():
	s = list(map(int, input().split('+')))
	s.sort()
	s2 = ''
	for i in range(len(s)):
		if i == len(s) - 1:
			s2 += str(s[i])
		else:
			s2 += str(s[i]) + '+'
	print(s2)
solve()


a = list(input())
nm = sorted([a[i] for i in range(len(a)) if i % 2 == 0])
if len(a) > 1:
	for i in range(len(nm)):
		print(nm[i], end='')
		if i < len(nm) - 1:
			print('+', end='')
else:
	print(a[0])


s = input()
sArray = s.split('+')
sOutArray = []
sOut = ''
for i in range(len(sArray)):
	if sArray[i] == '1':
		sOutArray.append('+')
		sOutArray.append('1')
for i in range(len(sArray)):
	if sArray[i] == '2':
		sOutArray.append('+')
		sOutArray.append('2')
for i in range(len(sArray)):
	if sArray[i] == '3':
		sOutArray.append('+')
		sOutArray.append('3')
if sOutArray[0] == '+':
	del sOutArray[0]
for i in sOutArray:
	sOut += i
print(sOut)


s = input('')
l = []
for i in range(0, len(s)):
	try:
		l.append(s[i * 2])
	except:
		pass
l.sort()
for i in range(0, len(l)):
	if i != len(l) - 1:
		print(l[i] + '+', end='')
	else:
		print(l[i])


string = input()
temp = []
for i in string:
	if i.isdigit():
		temp.append(int(i))
temp.sort()
final = ''
for i in range(len(temp)):
	if i == len(temp) - 1:
		final += str(temp[i])
	else:
		final += str(temp[i]) + '+'
print(final)


s = str(input())
l = s.split('+')
l.sort()
for i in range(len(l)):
	if i < len(l) - 1:
		print(l[int(i)] + '+', end='')
	elif i == len(l) - 1:
		print(l[int(i)])


a = input()
b = a.split('+')
if len(b) == 1:
	print(a)
else:
	list = []
	for i in b:
		list.append(int(i))
	list.sort()
	c = len(list)
	for i in range(0, c - 1):
		print(str(list[i]), end='+')
	print(str(list[c - 1]))


import string
a = input()
numbers = list(a.split('+'))
numbers.sort()
print('+'.join(numbers))


a = input()
x = a.split('+')
x.sort()
print(x[0], end='')
i = 1
while i < len(x):
	print('+' + x[i], end='')
	i = i + 1


summans = input().split('+')
summans = sorted(summans)
for i in range(len(summans) - 1):
	print(summans[i], end='')
	print('+', end='')
print(summans[len(summans) - 1])


ques = input()
l = []
number = []
for i in range(len(ques)):
	l.append(ques[i])
for i in l:
	if i is not '+':
		number.append(i)
number.sort()
num = []
for i in number:
	num.append(i)
	num.append('+')
n = num[0:len(num) - 1]
for i in n:
	print(i, end='')


s = input()
s = list(s)
l = [0] * len(s)
j = 0
s1 = ''
for i in range(len(s)):
	if s[i] == '+':
		continue
	else:
		l[j] = int(s[i])
		j += 1
l.sort()
j = len(l) - j
for i in range(len(s)):
	if i % 2 == 0:
		s[i] = l[j]
		j += 1
for i in s:
	print(i, end='')


s = input()
if '+' not in s:
	print(s)
else:
	lis = s.split('+')
	lis.sort()
	print('+'.join(lis))


a = list(map(int, input('').split('+')))
i = 0
while i < len(a):
	j = i + 1
	while j < len(a):
		if a[i] > a[j]:
			c = a[i]
			a[i] = a[j]
			a[j] = c
		else:
			a[i] = a[i]
		j += 1
	i += 1
j = 0
while j < len(a):
	print(a[j], end='')
	if j < len(a) - 1:
		print('+', end='')
	j += 1


x = input()
x = [i for i in x if i != '+']
x.sort()
x = '+'.join(x)
print(x)


a = sorted(list(map(int, input().strip().split('+'))))
print(*a, sep='+')


s = list(input().split('+'))
s.sort()
for i in range(0, len(s)):
	print(s[i], end='')
	if i != len(s) - 1:
		print('+', end='')


__author__ = 'runekri3'
numbers = input()
ones = numbers.count('1')
twos = numbers.count('2')
threes = numbers.count('3')
print('+'.join('1' * ones + '2' * twos + '3' * threes))


A = input().split('+')
A = sorted(A)
S = ''
for i in range(len(A)):
	S += A[i]
	if i != len(A) - 1:
		S += '+'
print(S)


s = str(input())
l = list(s)
lengthofstring = len(s)
numberofnumbers = lengthofstring / 2 + 0.5
numbers = []
i = 0
c = 0
for i in range(0, lengthofstring):
	if i % 2 == 0:
		numbers.insert(c, l[i])
		c = c + 1
	i = i + 1
numbers = list(map(int, numbers))
numbers.sort()
numbers = list(map(str, numbers))
i = 0
c = 0
out = list()
for i in range(0, lengthofstring):
	if i % 2 == 0:
		out.insert(i, numbers[c])
		c = c + 1
	if i % 2 != 0:
		out.insert(i, '+')
	i = i + 1
out2 = ''.join(map(str, out))
print(out2)


i = input()
new = str()
odin = int(0)
dva = int(0)
tri = int(0)
plus = int(0)
y = int(0)
while y < len(i):
	if i[y] == '1':
		odin += 1
	if i[y] == '2':
		dva += 1
	if i[y] == '3':
		tri += 1
	if i[y] == '+':
		plus += 1
	y += 1
while odin > 0:
	new += '1'
	if plus > 0:
		new += '+'
		plus -= 1
	odin -= 1
while dva > 0:
	new += '2'
	if plus > 0:
		new += '+'
		plus -= 1
	dva -= 1
while tri > 0:
	new += '3'
	if plus > 0:
		new += '+'
		plus -= 1
	tri -= 1
print(new)


a = input('')
a = list(a)
for i in range(len(a)):
	if '+' in a:
		a.remove('+')
a = list(map(int, a))
a = sorted(a)
a = '+'.join(map(str, a))
print(a)


st = [x for x in input() if x != '+']
st.sort()
print('+'.join(st))


s = [str(i) for i in input().split('+')]
s.sort()
for i in range(len(s) - 1):
	s[i] += '+'
s = ''.join(s)
print(s)


str = input()
i = 0
str2 = []
str.split('+')
str3 = ''
for i in range(str.__len__()):
	str2.append(str[i])
str2.sort()
i = 0
for i in range(str2.__len__()):
	if str2.__len__() == 1:
		print(str2[i])
		break
	elif str2[i] == '+':
		continue
	else:
		str3 += str2[i]
		if i != str2.__len__() - 1:
			str3 += '+'
print(str3)


x = input()
t = []
for i in range(len(x)):
	if x[i] != '+':
		t.append(x[i])
t.sort()
for i in range(len(t)):
	if i < len(t) - 1:
		print(t[i], end='')
		print('+', end='')
	else:
		print(t[i])


s = input()
a = list()
for i in range(len(s)):
	if i % 2 == 0:
		a.append(s[i])
a.sort()
print(*a, sep='+')


def main():
	string = [int(x) for x in input().split('+')]
	string.sort()
	n = len(string) - 1
	out = ''
	for x in string:
		out += str(x)
		if n >= 1:
			out += '+'
			n -= 1
	print(out)
main()


a = list(input().split('+'))
a.sort()
print('+'.join(a))


a = input()
b = 0
c = 0
d = 0
for i in range(0, len(a)):
	if a[i] == '1':
		b += 1
	if a[i] == '2':
		c += 1
	if a[i] == '3':
		d += 1
e = ''
for i in range(0, b):
	e += '1+'
for i in range(0, c):
	e += '2+'
for i in range(0, d):
	e += '3+'
m = list(e)
m[len(e) - 1] = ''
e = ''.join(m)
print(e)


sum = input()
num = []
for i in range(len(sum)):
	if i % 2 == 0:
		num.append(int(sum[i]))
	i += 1
num.sort()
ans = ''
for i in range(len(num)):
	ans += str(num[i])
	if i != len(num) - 1:
		ans += '+'
	i += 1
print(ans)


inp = input()
inplist = inp.split('+')
inplist.sort()
cnter = 0
for member in inplist:
	cnter += 1
	print(member, end='')
	if cnter != len(inplist):
		print('+', end='')


s = input()
a = s.split('+')
a.sort()
n = len(a)
print(a[0], end='')
for i in range(1, n):
	print('+' + a[i], end='')


str = input()
a = b = c = 0
for i in str:
	if i == '1':
		a += 1
	if i == '2':
		b += 1
	if i == '3':
		c += 1
p = a + b + c - 1
for i in range(a):
	print('1+' if p else '1', end='')
	if p:
		p -= 1
for i in range(b):
	print('2+' if p else '2', end='')
	if p:
		p -= 1
for i in range(c):
	print('3+' if p else '3', end='')
	if p:
		p -= 1


string = input()
l1 = list(string.split('+'))
l1.sort()
string1 = ''
for i in l1:
	string1 += f'{i}+'
print(string1[:-1])


s = input()
if len(s) == 1:
	print(s)
else:
	s = s.replace('+', '')
	s = sorted(s)
	print(s[0], end='')
	for x in s[1:]:
		print('+', x, sep='', end='')


lista = []
lista1 = []
string = input().split('+')
for i in string:
	lista.append(int(i))
lista.sort()
for x in lista:
	lista1.append(x)
	lista1.append('+')
del lista1[-1]
wynik = ''
for i in lista1:
	wynik += str(i)
print(wynik)


print('+'.join(map(str, sorted([int(x) for x in input().split('+')]))))


db = {}
x = input().split('+')
for i in x:
	if i in db:
		db[i] = db[i] + 1
	else:
		db[i] = 1
data = ''
for c in range(len(db)):
	highest = 0
	k = ''
	for (i, x) in db.items():
		if int(i) > int(highest):
			highest = i
	for i in range(db[highest]):
		k += '+' + highest
	data = k + data
	del db[highest]
if data.startswith('+'):
	data = data[1:]
if '++' in data:
	data = data.replace('++', '+')
print(data)


stringnya = input()
str_arr = stringnya.split('+')
str_arr.sort()
result = '+'.join(str_arr)
print(result)


l = input()
l = l.split('+')
l.sort()
print('+'.join(l))


sum = input()
num = sum.replace('+', '')
num = list(num)
num.sort()
num = ''.join(num)
new_sum = '+'.join(num)
print(new_sum)


s = input()
lis = []
for i in range(len(s)):
	if s[i].isnumeric():
		lis.append(s[i])
lis.sort()
if len(s) == 1:
	print(s)
else:
	print('+'.join(lis))


expression = str(input()) + '+'
addends = []
word = ''
finalexpression = ''
for char in expression:
	if char != '+':
		word += char
	else:
		addends.append(int(word))
		word = ''
addends.sort()
for addend in addends:
	finalexpression += str(addend) + '+'
print(finalexpression[:-1])


l = sorted(input().split('+'))
s = ''
for e in l:
	s += e + '+'
print(s[0:len(s) - 1])


n = [int(x) for x in input().split('+')]
a = sorted(n)
print(*a, sep='+')


a = input().split('+')
for i in range(len(a)):
	a[i] = int(a[i])
a.sort()
b = a.pop(-1)
for i in a:
	print(str(i) + '+', end='')
print(b)


ch = input()
l = []
for i in ch:
	if i == '+':
		ch = ch.replace(i, '')
for k in ch:
	l.append(k)
ech = True
while ech == True:
	ech = False
	for i in range(len(l) - 1):
		if l[i] > l[i + 1]:
			(l[i], l[i + 1]) = (l[i + 1], l[i])
			ech = True
print('+'.join(l))


a = input()
s = ''
a = a.split('+')
a.sort()
for i in range(len(a) - 1):
	s += a[i] + '+'
s += a[-1]
print(s)


s = input().split('+')
s.sort()
l = len(s)
a = ''
for i in range(0, l):
	a = a + s[i]
	if i == l - 1:
		break
	a = a + '+'
print(a)


a = input()
z = []
for i in a:
	if i.isdigit():
		z += [int(i)]
z.sort()
a = ''
for i in z:
	a += str(i) + '+'
print(a[:-1])


def smartbubblesort(alist):
	for n in range(len(alist) - 1, 0, -1):
		for i in range(n):
			if alist[i] > alist[i + 1]:
				(alist[i], alist[i + 1]) = (alist[i + 1], alist[i])
	return alist
x = str(input())
z = list(x.split('+'))
print('+'.join(smartbubblesort(z)))


s = input()
c = 0
c1 = 0
c2 = 0
for i in range(0, len(s)):
	if s[i] == '1':
		c = c + 1
	elif s[i] == '2':
		c1 = c1 + 1
	elif s[i] == '3':
		c2 = c2 + 1
s1 = ''
while c > 0:
	s1 += '1'
	c = c - 1
while c1 > 0:
	s1 += '2'
	c1 = c1 - 1
while c2 > 0:
	s1 += '3'
	c2 = c2 - 1
s2 = ''
for i in range(0, len(s1) - 1):
	s2 += s1[i]
	s2 += '+'
s2 += s1[len(s1) - 1]
print(s2)


s = [int(x) for x in input().split('+')]
for i in range(len(s)):
	for j in range(i + 1, len(s)):
		if s[i] > s[j]:
			tmp = s[i]
			s[i] = s[j]
			s[j] = tmp
su = ''
for j in range(len(s)):
	if j == len(s) - 1:
		su += str(s[j])
	else:
		su += str(s[j]) + '+'
print(su)


s = input()
ct1 = 0
ct2 = 0
ct3 = 0
for x in s:
	if x == '+':
		continue
	if x == '1':
		ct1 = ct1 + 1
	elif x == '2':
		ct2 = ct2 + 1
	else:
		ct3 = ct3 + 1
ans = []
while ct1:
	ans.append(1)
	ct1 = ct1 - 1
while ct2:
	ans.append(2)
	ct2 = ct2 - 1
while ct3:
	ans.append(3)
	ct3 = ct3 - 1
togo = ''
for x in range(len(ans) - 1):
	togo = togo + (str(ans[x]) + '+')
togo = togo + str(ans[len(ans) - 1])
print(togo)


def fx(s):
	a = []
	v = []
	for i in range(len(s)):
		if s[i] != '+':
			v.append(s[i])
	v.sort()
	for i in range(len(v)):
		a.append(v[i] + '+')
	ans = ''
	for i in range(len(a)):
		ans = ans + a[i]
	return ans[:-1]
x = input()
print(fx(x))


a = input()
b = []
for x in a.split('+'):
	b.append(int(x))
b.sort()
a = ''
for y in range(len(b)):
	a = a + str(b[y])
	if y == len(b) - 1:
		()
	else:
		a = a + '+'
print(a)


numbers = [int(x) for x in input().split('+')]
sorted_numbers = sorted(numbers)
sorted_numbers = [str(y) for y in sorted_numbers]
print(*sorted_numbers, sep='+')


x = str(input())
n = 0
a = 0
b = 0
c = 0
while n < len(x):
	if x[n] == '1':
		a = a + 1
	elif x[n] == '2':
		b = b + 1
	elif x[n] == '3':
		c = c + 1
	n = n + 2
if a > 0:
	a = a - 1
	p = '1' + '+1' * a + '+2' * b + '+3' * c
elif b > 0:
	b = b - 1
	p = '2' + '+2' * b + '+3' * c
elif c > 0:
	c = c - 1
	p = '3' + '+3' * c
print(p)


seq = input().split('+')
seq.sort()
res = seq[0]
for i in range(len(seq) - 1):
	res = res + '+' + seq[i + 1]
print(res)


(s, ans) = (sorted(map(int, input().split('+'))), '')
for i in range(len(s) - 1):
	ans += str(s[i]) + '+'
print(ans, s[len(s) - 1], sep='')


s = input().split('+')
s.sort()
result = '+'.join((str(i) for i in s))
print(result)


s = input()
S = s.split('+')
S = [int(i) for i in S]
a = 0
b = 0
c = 0
x = ''
for i in S:
	if i == 1:
		a = a + 1
	elif i == 2:
		b = b + 1
	else:
		c = c + 1
for i in range(a):
	if x == '':
		x = x + '1'
	else:
		x = x + '+1'
for i in range(b):
	if x == '':
		x = x + '2'
	else:
		x = x + '+2'
for i in range(c):
	if x == '':
		x = x + '3'
	else:
		x = x + '+3'
print(x)


from math import pi, gcd, factorial
from collections import defaultdict, Counter
from heapq import heapify, heappop, heappush
from sys import maxsize
mod1 = 10 ** (-9)
mod1 = 10 ** 9 + 7

def input_t():
	return int(input())

def input_f():
	return float(input())

def input_list():
	return [int(num) for num in input().split()]

def print_c(i, res):
	print('Case {}: {}'.format(i + 1, res))

def print_e(i, res):
	print('Case {} = {}'.format(i + 1, res))

def max_min():
	return (maxsize, -maxsize - 1)

def tar(a, b, c):
	if a == b == c == 0:
		exit()

def solve():
	s = input()
	d = Counter(s)
	res = ''
	for ch in ('1', '2', '3'):
		res += ch * d[ch]
	print('+'.join((c for c in res)))
solve()


nums = list(map(int, input().split('+')))
nums.sort()
print('+'.join(map(str, nums)))


s = input()
num = []
for i in s:
	if i.isalnum():
		num.append(i)
num.sort()
if len(num) == 1:
	print(num[0])
else:
	print(num[0], end='')
	for (j, n) in enumerate(num):
		if j != 0:
			print('+' + str(n), end='')


entrada = input()
entrada = entrada.split('+')
entrada.sort()
entrada = '+'.join(entrada)
print(entrada)


n = input()
s = ''
ar = [i for i in n if i != '+']
for i in sorted(ar):
	s = s + str(i)
print('+'.join(s))


s = str(input())
m = list(s)
n = m[::2]
n.sort()
if len(n) > 1:
	print('+'.join(n))
else:
	print(' '.join(n))


n = input('')
l1 = []
l2 = []
for i in range(0, len(n), 2):
	l1 += [n[i]]
l1.sort()
for i in range(0, len(l1) - 1):
	l2 += l1[i]
	l2 += ['+']
l2 += l1[-1]
for i in l2:
	print(i, end='')


print('+'.join(sorted((i for i in input().split('+')))))


s = input()
p1 = p2 = p3 = 0
for i in range(0, len(s), 2):
	if s[i] == '1':
		p1 += 1
	elif s[i] == '2':
		p2 += 1
	else:
		p3 += 1
ss = '1+' * p1 + '2+' * p2 + '3+' * p3
print(ss[:-1])


s = input()
e = [x for x in s if x != '+']
print('+'.join(sorted(e)))


addition = input().split('+')
numbers = [0, 0, 0]
for i in range(0, len(addition)):
	numbers[ord(addition[i]) - ord('1')] += 1
new_addiiton = []
for i in range(0, numbers[0]):
	new_addiiton.append(1)
for i in range(0, numbers[1]):
	new_addiiton.append(2)
for i in range(0, numbers[2]):
	new_addiiton.append(3)
for i in range(0, len(new_addiiton)):
	if i != 0:
		print('+', end='')
	print(new_addiiton[i], end='')


print('+'.join((a for a in sorted(input()[::2]))))


x = input()
res = [int(i) for i in x.split('+') if i.isdigit()]
res.sort()
print(res[0], end='')
for i in range(1, len(res)):
	print('+' + str(res[i]), end='')


s = input().split('+')
s.sort()
for x in s[:-1]:
	print(x, end='+')
print(s[len(s) - 1])


s = input()
m = []
for letter in s:
	m.append(letter)
for i in range(0, len(m) // 2):
	m.remove('+')
m.sort()
for i in range(len(m)):
	if i == len(m) - 1:
		print(m[i])
		break
	else:
		print(m[i], end='')
		print('+', end='')


s = input()
list = []
for k in s:
	if k != '+':
		list.append(k)
list.sort()
res = ''
for k in list:
	res += k + '+'
print(res[0:-1])


n = input()
a = []
for i in range(0, len(n)):
	if n[i].isdigit() == True:
		a.append(n[i])
a.sort()
j = 0
for i in range(0, len(n)):
	if n[i].isdigit() == True:
		print(a[j], end='')
		j += 1
	else:
		print('+', end='')


s = input()
l = list(s)
n = len(l) // 2
l.sort()
l = l[n:]
for i in range(0, len(s) - 2, 2):
	l.insert(i + 1, '+')
print(''.join(l))


a = input().split('+')
a.sort()
b = ''
for k in range(len(a)):
	b += a[k]
	if k != len(a) - 1:
		b += '+'
print(b)


lst = list(map(int, input().split('+')))
lst.sort()
if not lst:
	result = ''
elif lst == 1:
	result = lst[0]
else:
	result = str(lst[0])
	for el in lst[1:]:
		result += '+' + str(el)
print(result)


suma = [j for j in input().split('+')]
suma.sort()
res = '+'.join(suma)
print(res)


n = input()
l = []
for i in n:
	if i >= '0' and i <= '9':
		l.append(i)
l = sorted(l)
s = ''
for i in l:
	s += str(i) + '+'
print(s[:len(s) - 1])


numbers = [int(i) for i in input().split('+')]
numbers = sorted(numbers)
numbers_strings = [str(i) for i in numbers]
print('+'.join(numbers_strings))


sum = input()
numbers = sum.split('+')
numbers = sorted(numbers)
sum = ''
for i in range(len(numbers)):
	if i == 0:
		sum += numbers[i]
	else:
		sum += '+' + numbers[i]
print(sum)


s = input().split('+')
s.sort()
res = ''
for i in s:
	res += i + '+'
print(res[0:len(res) - 1])


n = input().replace('+', '')
m = sorted(n)
k = str()
for i in range(len(m)):
	if i == len(m) - 1:
		k = k + str(m[i])
	else:
		k = k + str(m[i]) + '+'
print(k)


__author__ = 'ratnesh.mishra'
arr = input().split('+')
arr.sort()
print('+'.join([x for x in arr]))


ch = input()
if ch.count('+') == 0:
	print(ch)
else:
	L = ch.split('+')
	L.sort()
	L = '+'.join(L)
	print(L)


line = [int(i) for i in input().split('+')]
array = [0] * 3
for i in line:
	array[i - 1] += 1
string = ''
for i in range(3):
	string += '%d+' % (i + 1) * array[i]
print(string[:-1])


inp = input()
c = 0
new_sum = [0] * len(inp)
new_lst = []
for _ in range(0, len(inp), 2):
	new_lst.append(inp[_])
new_lst.sort()
print('+'.join(new_lst))


output = list(map(int, input().rstrip().split('+')))
numbers = []
x = ''
for fb in output:
	numbers.append(fb)
	numbers.sort()
number1 = numbers.copy()
numbers.pop(-1)
for reddit in numbers:
	x += f'{reddit}+'
print(f'{x}{number1[-1]}')


lst = input().split('+')
lst.sort()
new = '+'.join(lst)
print(new)


a = input()
list1 = list(a)
while '+' in list1:
	list1.remove('+')
list1.sort()
s = len(list1)
p = ''
for i in range(s - 1):
	p += list1[i] + '+'
p += list1[-1]
print(p)


test_nums = input()
numbers = test_nums.replace('+', '')
nums_ = sorted(list((int(x) for x in numbers)))
nums1 = [str(x) for x in nums_]
nums = ''.join(nums1)
res = '+'.join((nums[i:i + 1] for i in range(0, len(nums))))
print(res)


eq = input('')
terms = list(eq)
eq = ''
terms.sort(reverse=True)
while terms[-1] == '+' and terms.pop():
	continue
terms.reverse()
for i in terms:
	eq += i + '+'
eq = eq.rstrip('+')
print(eq)


w = [int(s) for s in input().split('+')]
w.sort()
print('+'.join([str(i) for i in w]))


def main():
	numbers = list(map(int, input().split('+')))
	numbers.sort()
	for i in range(len(numbers) - 1):
		print(str(numbers[i]) + '+', end='')
	print(numbers[-1])
main()


a = input()
n = int(len(a))
l = 0
n1 = 0
n2 = 0
n3 = 0
while l < n:
	if a[l] == '1':
		n1 = n1 + 1
	if a[l] == '2':
		n2 = n2 + 1
	if a[l] == '3':
		n3 = n3 + 1
	l = l + 2
l = 0
a1 = '1+' * n1
a2 = '2+' * n2
a3 = '3+' * n3
a123 = a1 + a2 + a3
print(a123[0:n], sep='')


n = list(map(int, input().split('+')))
n = sorted(n)
for i in range(len(n) - 1):
	print(n[i], end='+')
print(n[-1])


s = input()
nums = list((int(i) for i in s if i.isdigit()))
nums.sort()
print('+'.join(map(str, nums)))


inp = input()
if '+' not in inp:
	print(inp)
else:
	inp = inp.split('+')
	inp2 = [int(x) for x in inp]
	inp2.sort()
	print(*inp2, sep='+')


a = input()
b = a.split('+')
b.sort(key=int)
print('+'.join(b))


def main():
	input_sum = input()
	list_of_numbers = []
	for val in input_sum:
		if val != '+':
			list_of_numbers.append(val)
	list_of_numbers = sorted(list_of_numbers)
	output_string = ''
	for i in range(len(list_of_numbers)):
		if i != len(list_of_numbers) - 1:
			output_string = output_string + str(list_of_numbers[i]) + '+'
		else:
			output_string = output_string + str(list_of_numbers[i])
	print(output_string)
main()


values = input().split('+')
values.sort()
final_str = ''
for i in values:
	final_str = final_str + '+' + i
final_str = final_str[1:]
print(final_str)


s = input()
a = []
for i in range(0, len(s), 2):
	a.append(s[i])
a = list(map(int, a))
a.sort()
for i in range(len(a) - 1):
	print(a[i], end='')
	print('+', end='')
print(a[len(a) - 1])


s = [x for x in input().split('+')]
if len(s) == 1:
	print(s[0])
else:
	s.sort()
	print('+'.join(s))


str = input('')
l = str.split('+')
l.sort()
str1 = ''
for i in range(len(l)):
	if i == len(l) - 1:
		str1 = str1 + l[i]
	else:
		str1 = str1 + l[i] + '+'
print(str1)


nums = list(map(int, input().split(sep='+')))
count = [0] * 3
for num in nums:
	count[num - 1] += 1
newNums = []
for i in range(3):
	newNums.extend([i + 1] * count[i])
print(*newNums, sep='+')


a = input()
b = len(a) - 1
b = b // 2
for i in range(b):
	for i in range(b):
		if a[2 * i] > a[2 * i + 2]:
			a = a[0:2 * i] + a[2 * i + 2] + a[2 * i + 1] + a[2 * i] + a[2 * i + 3:]
print(a)


word = input()
a = len(word)
q = int((a + 1) / 2)
m = []
for i in range(q):
	m.append(word[2 * i])
m.sort()
print('+'.join((str(z) for z in m)))


a = input()
b = []
for i in range(0, len(a), 2):
	b.append(a[i])
print('+'.join(sorted(b)))


operatonNumber = [int(i) for i in input().split('+')]
operatonNumber.sort()
print('+'.join([str(i) for i in operatonNumber]))


s = input()
l = []
s1 = ''
for i in s:
	if i != '+':
		l.append(int(i))
l.sort()
for i in range(1, len(s), 2):
	l.insert(i, '+')
for i in l:
	s1 = s1 + str(i)
print(s1)


a = list(map(int, input().split('+')))
a.sort()
b = [str(i) + '+' for i in a[:len(a) - 1]]
b.append(str(a[len(a) - 1]))
print(*b, end='', sep='')


text = input().split('+')
text.sort()
print('+'.join(text))


val = str(input())
nums = []
for i in range(len(val)):
	current_val = val[i]
	if current_val != '+':
		nums.append(current_val)
	else:
		continue
final_val = ''
nums.sort()
for i in range(len(nums)):
	if i == len(nums) - 1:
		final_val += str(nums[i])
	else:
		z = str(nums[i]) + '+'
		final_val += z
print(final_val)


c = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']
b = []
a = list(input())
for i in range(len(a)):
	if a[i] in c:
		b.append(a[i])
b.sort()
a = []
for i in range(len(b)):
	a.append(b[i])
	a.append('+')
a.pop()
print(''.join(a))


a = str(input())
b = sorted(a)
x = b.count('+')
for i in range(x):
	b.remove('+')
c = '+'.join(b)
print(c)


l = input().split('+')
k = [0] * 3
for i in l:
	k[int(i) - 1] += 1
s = ''
for i in range(3):
	while k[i] > 0:
		s += str(i + 1) + '+'
		k[i] -= 1
print(s[:-1])


int_input = input().split('+')
list_1 = []
for i in int_input:
	list_1.append(i)
reversed_list = sorted(reversed(list_1))
print('+'.join(reversed_list))


liste = list(input().split('+'))
for _ in range(liste.__len__()):
	for _ in range(liste.__len__() - 1):
		if liste[_] > liste[_ + 1]:
			tmp = liste[_]
			liste[_] = liste[_ + 1]
			liste[_ + 1] = tmp
n_str = ''
for x in liste:
	n_str += str(x) + '+'
n_str = n_str[:-1]
print(n_str)


n = input()
m = len(n)
i = 0
arr = []
while i < m:
	x = int(n[i])
	arr.append(x)
	i = i + 2
arr = sorted(arr)
n = ''
for i in range(len(arr)):
	n = n + str(arr[i]) + '+'
print(n[0:-1])


s = input()
s = s.split('+')
s = list(map(int, s))
s.sort()
print(s[0], end='')
for i in s[1:]:
	print('+', i, sep='', end='')


s = input().split('+')
correct = [str(c) for c in sorted([int(a) for a in s])]
print('+'.join(correct))


x = list(input())
i = 0
f = []
l = ''
jump = 0
for i in x:
	if i == '+':
		pass
	else:
		f.append(i)
f.sort()
for i in f:
	l = l + i
	jump = jump + 1
	if jump < len(f):
		l = l + '+'
print(l)


a = input()
c = len(a)
b = list(a)
b.sort()
d = c // 2
for i in range(d):
	b.remove('+')
print('+'.join(b))


a = list(map(int, input().split('+')))

def insertionsort(a, n):
	for i in range(1, n):
		x = a[i]
		j = i
		while j > 0 and a[j - 1] > x:
			a[j] = a[j - 1]
			j -= 1
		a[j] = x
insertionsort(a, len(a))
print(a[0], end='')
for i in range(1, len(a)):
	print('+%d' % a[i], end='')


import sys
input = sys.stdin.readline
operation = input()
summans = operation.strip().split('+')
ordered_summans = [''] * len(summans)
next_ordered = 0
for i in range(1, 4):
	str_i = str(i)
	for num in summans:
		if num == str_i:
			ordered_summans[next_ordered] = num
			next_ordered += 1
print('+'.join(ordered_summans))


s = input()
l = []
l2 = []
s1 = ''
ss = '1234567890'
for i in s:
	if i in ss:
		l.append(i)
l1 = sorted(l)
for i in range(0, len(l) - 1):
	l2.append(l1[i] + '+')
for i in l2:
	s1 = s1 + i
print(s1 + l1[-1])


def swap(arr, i, j):
	(arr[i], arr[j]) = (arr[j], arr[i])

def comb_sort(array):
	n = len(array)
	gap = n - 1
	swaped = False
	while gap >= 1 or swaped:
		if gap < 1:
			gap = 1
		swaped = False
		for i in range(n - gap):
			if array[i] > array[i + gap]:
				swaped = True
				swap(array, i, i + gap)
		gap = int(gap // 1.24)
a = input()
b = []
for el in a:
	if el != '+':
		b.append(el)
comb_sort(b)
print('+'.join(b))


print('+'.join([str(y) for y in sorted([int(x) for x in input().split('+')])]))


a = input().split('+')
a.sort()
ans = ''
for i in a:
	ans += i + '+'
print(ans[:len(ans) - 1])


f = list(map(int, input().split('+')))
g = f.sort()
s = str(f[0])
for i in range(1, len(f)):
	s = s + '+' + str(f[i])
print(s)


vstup = input()
i = vstup.replace('+', '')
final = sorted(i)
print('+'.join(final))


s = [int(i) for i in input().split('+')]
for i in range(int(len(s) - 1)):
	for j in range(int(len(s) - i - 1)):
		if s[j] > s[j + 1]:
			(s[j], s[j + 1]) = (s[j + 1], s[j])
print(*s, sep='+')


c = input()
c = c.split('+')
N = len(c) - 1
out = ''
kof = 1
for i in range(N):
	for j in range(N - i):
		if c[j] > c[j + 1]:
			(c[j + 1], c[j]) = (c[j], c[j + 1])
for k in range(N + 1):
	out += c[k]
	if k != N:
		out += '+'
print(out)


x = list(map(int, input().split('+')))
x.sort()
y = ''
for i in range(len(x)):
	if i == 0:
		y = str(x[i])
	else:
		y = y + '+' + str(x[i])
print(y)


s = input()
l = [0, 0, 0]
for i in s:
	if i == '1':
		l[0] += 1
	elif i == '2':
		l[1] += 1
	elif i == '3':
		l[2] += 1
ans = ''
while l[0] > 0:
	ans += '1+'
	l[0] -= 1
while l[1] > 0:
	ans += '2+'
	l[1] -= 1
while l[2] > 0:
	ans += '3+'
	l[2] -= 1
print(ans[:-1])


s = input()
l = []
for char in s:
	if char != '+':
		l.append(int(char))
l.sort()
for i in range(len(l)):
	if i != len(l) - 1:
		print(str(l[i]) + '+', end='')
	else:
		print(str(l[i]))


arr = list(map(int, input().split('+')))
arr.sort()
print('+'.join(map(str, arr)))


inp = sorted(list(map(int, input().replace('+', ' ').split())))
print(inp[0], end='')
for i in range(1, len(inp)):
	print('+' + str(inp[i]), end='')


question = str(input())
number1 = 0
number2 = 0
number3 = 0
for i in range(0, len(question)):
	if question[i] == '1':
		number1 += 1
	if question[i] == '2':
		number2 += 1
	if question[i] == '3':
		number3 += 1
answer = '1+' * number1 + '2+' * number2 + '3+' * number3
print(answer[:-1])


a = input().split('+')
print('+'.join((x for x in sorted(a))))


equation = input()
result = []
for i in range(len(equation)):
	if equation[i].isdigit():
		result.append(equation[i])
result.sort()
print(*result, sep='+')


w = input()
n = len(w)
a = 0
b = 0
c = 0
for i in range(n):
	if w[i] == '1':
		a = a + 1
	elif w[i] == '2':
		b = b + 1
	elif w[i] == '3':
		c = c + 1
x = '1+' * a + '2+' * b + '3+' * c
print(x[:-1])


Sentence = str(input())

def sortedSentence(Sentence):
	words = Sentence.split('+')
	words.sort()
	newSentence = '+'.join(words)
	return newSentence
print(sortedSentence(Sentence))


def helpful_maths():
	string = sorted(list(input().split('+')))
	print('+'.join(string))
	return
helpful_maths()


x = list(map(int, input().split('+')))
a = sorted(x)
l = len(a)
for i in range(l - 1):
	print(str(a[i]) + '+', end='')
print(a[l - 1])


a = list(input())
s = 0
for x in a:
	if x == '+':
		s = s + 1
for y in range(s):
	a.remove('+')
a.sort()
l = len(a)
for m in range(l):
	if m != l - 1:
		print(a[m], end='')
		print('+', end='')
	else:
		print(a[m])


numbers = list(map(str, input().split('+')))
numbers.sort()
for i in range(len(numbers)):
	if i != len(numbers) - 1:
		print(numbers[i], end='+')
	else:
		print(numbers[i], end='')


num = sorted([int(x) for x in input().split('+')])
for i in range(0, len(num)):
	print(num[i], end='')
	if i != len(num) - 1:
		print('+', end='')


str = input()
one = 0
two = 0
three = 0
res = ''
for N in str:
	if N != '+':
		if N == '1':
			one += 1
		if N == '2':
			two += 1
		if N == '3':
			three += 1
for i in range(0, one):
	res += '1'
	if i == one - 1:
		if two != 0 or three != 0:
			res += '+'
	else:
		res += '+'
for i in range(0, two):
	res += '2'
	if i == two - 1:
		if three != 0:
			res += '+'
	else:
		res += '+'
for i in range(0, three):
	res += '3'
	if i != three - 1:
		res += '+'
print(res)


s = input().split('+')
s.sort()
o = ''
for i in range(len(s)):
	o += s[i]
	if i + 1 < len(s):
		o += '+'
print(o)


s = input()
l = s.split('+')
l.sort()
s1 = ''
for i in range(len(l)):
	if i == len(l) - 1:
		s1 += l[i]
	else:
		s1 += l[i] + '+'
print(s1)


numbers = sorted(input().split('+'))
for i in range(len(numbers) - 1):
	print('%s+' % numbers[i], end='')
print(numbers[-1])


s = input()
if len(s) == 1:
	print(s)
else:
	l = s.split('+')
	l.sort()
	x = '+'.join(l)
	print(x)


(counter_1, counter_2, counter_3) = (0, 0, 0)
s = input()
for elem in s:
	if elem == '1':
		counter_1 += 1
	elif elem == '2':
		counter_2 += 1
	elif elem == '3':
		counter_3 += 1
result = ''
for i in range(counter_1 - 1):
	result += '1' + '+'
if counter_1 > 0:
	if counter_2 > 0 or counter_3 > 0:
		result += '1' + '+'
	else:
		result += '1'
for i in range(counter_2 - 1):
	result += '2' + '+'
if counter_2 > 0:
	if counter_3 > 0:
		result += '2' + '+'
	else:
		result += '2'
for i in range(counter_3 - 1):
	result += '3' + '+'
if counter_3 > 0:
	result += '3'
print(result)


s = input()
a = s[0::2]
l = []
for i in a:
	l.append(i)
l.sort()
p = l[0]
for i in range(1, len(l)):
	p = p + '+' + l[i]
print(p)


string = input()
numberList = list(map(int, string.split('+')))
numberList.sort()
count = 1
maxcount = len(numberList)
for each in numberList:
	print(each, end='')
	if count != maxcount:
		print('+', end='')
		count += 1


expr = input()
nums = expr.split('+')
nums.sort()
print('+'.join(nums))


s = input()
s = s.replace('+', ' ').split(' ')
d = []
c = []
for i in range(len(s)):
	w = int(s[i])
	d.append(w)
d.sort()
for i in range(len(s)):
	w = str(d[i])
	c.append(w)
c = '+'.join(c)
print(c)


str1 = list(map(int, input().split('+')))
str1.sort()
x = ''
for i in str1:
	x += str(i) + '+'
print(x[:-1])


l = list(input())
l2 = list((x for x in l if x != '+'))
l2.sort()
l3 = list(range(2 * len(l2)))
for i in range(len(l2)):
	l3[2 * i + 1] = '+'
	l3[2 * i] = l2[i]
del l3[-1]
print(''.join(l3))


try:
	l = [x for x in input().split('+')]
	l.sort()
	for i in range(0, len(l) - 1):
		l[i] = l[i] + '+'
	print(''.join(map(str, l)))
except:
	pass


def split(word):
	return [char for char in word]

def is_plus(item):
	if item == '+':
		return True
	else:
		return False
lst = split(input())
lst1 = []
answer = ''
for i in range(0, len(lst)):
	if is_plus(lst[i]) == False:
		lst1.append(lst[i])
lst1.sort()
for i in lst1:
	answer += i + '+'
print(answer[:-1])


s = input()
z = sorted(s[::2])
print('+'.join(z))


s = input()
s = list(s)
for i in s:
	if i == '+':
		s.remove(i)
s.sort()
x = '+'.join(s)
print(x)


def helpfulMaths():
	values = input().split('+')
	values.sort()
	string = ''
	for i in values:
		string = f'{string}+{i}'
	print(string[1:])
helpfulMaths()


a = input()
x = a.split('+')
m = sorted(x)
print('+'.join(m))


input_user = input()
numbers = [int(x) for x in input_user[0::2]]
numbers.sort()
print('+'.join((str(x) for x in numbers)))


lt = input().split('+')
lt.sort()
print('+'.join(lt))


t = list(input())
l = len(t)
a = []
for i in t:
	if i != '+':
		a.append(i)
b = sorted(a)
j = 0
for i in range(0, l):
	if t[i] != '+':
		t[i] = b[j]
		j = j + 1
print(*t, sep='')


a = input().split('+')
a.sort()
for k in range(len(a)):
	if k + 1 != len(a):
		print(a[k], end='+')
	else:
		print(a[k])


strings = input()
if len(strings) == 1:
	print(strings)
else:
	strings = strings.split('+')
	strings.sort()
	print('+'.join(strings))


n = input()
l = list(n)
l = [l[i] for i in range(0, len(l), 2)]
l = list(map(int, l))
l = sorted(l)
l = list(map(str, l))
s = '+'.join(l)
print(s)


s = input()
j = ''
l = []
for i in s:
	if i != '+':
		l.append(i)
l.sort()
for i in range(len(l)):
	if i != len(l) - 1:
		j = j + l[i] + '+'
	else:
		j = j + l[i]
print(j)


import math
import collections
import bisect
import heapq
import time
import random
import itertools
import sys
s = input()
s = s.split('+')
s.sort()
print('+'.join(s))


l = list(map(int, input().split('+')))
l.sort()
print('+'.join([str(e) for e in l]))


a = list(map(str, input().split('+')))
a.sort()
q = []
for i in range(len(a)):
	q.append(a[i])
	q.append('+')
q.pop()
q = ''.join(q)
print(q)


def quickSort(alist, first, last):
	if last - first > 1:
		pivot = alist[first]
		left_bad = first + 1
		right_bad = last - 1
		while left_bad <= right_bad:
			(alist[left_bad], alist[right_bad]) = (alist[right_bad], alist[left_bad])
			if alist[left_bad] <= pivot:
				left_bad = left_bad + 1
			elif alist[right_bad] > pivot:
				right_bad = right_bad - 1
		(alist[first], alist[right_bad]) = (alist[right_bad], alist[first])
		pivotPosition = right_bad
		quickSort(alist, first, pivotPosition)
		quickSort(alist, pivotPosition + 1, last)
	return alist
target = input().split('+')
quickSort(target, 0, len(target))
returnString = ''
for i in range(len(target)):
	returnString += target[i]
	if i != len(target) - 1:
		returnString += '+'
print(returnString)


c = '+'
a = input()
b = [a[i] for i in range(len(a)) if i % 2 == 0]
b = list(map(int, b))
b.sort()
b = list(map(str, b))
c = c.join(b)
print(c)


l = list(map(int, input().split('+')))
l = sorted(l)
for (i, j) in enumerate(l):
	if i == len(l) - 1:
		print(j)
	else:
		print(j, end='+')


s = input()
answer = []
for i in range(len(s)):
	if s[i] != '+':
		answer.append(s[i])
for a in range(len(answer)):
	answer[a] = int(answer[a])
answer.sort()
final = ''
for b in answer:
	final += str(f'{b}+')
print(final[0:-1])


prob = input()
digits = []
for i in prob:
	if i.isdigit() == True:
		digits.append(i)
digits.sort()
print('+'.join(digits))


a = input()
l = a.split('+')
for i in range(len(l)):
	l[i] = int(l[i])
l.sort()
print(l[0], end='')
for i in range(1, len(l)):
	print('+', l[i], sep='', end='')


s = input()
a = []
for i in s:
	if i != '+':
		i = int(i)
		a.append(i)
a.sort()
l = len(a)
for i in range(l - 1):
	print(a[i], end='+')
print(a[l - 1])


n = input()
s = ''
(one, two, three) = (0, 0, 0)
for i in range(0, len(n), 2):
	if n[i] == '1':
		one += 1
	elif n[i] == '2':
		two += 1
	else:
		three += 1
a = ['1' for i in range(one)]
b = ['2' for i in range(two)]
c = ['3' for i in range(three)]
sum = a + b + c
r = '+'.join(sum)
print(r)


print('+'.join(list(sorted(input().strip('/n').split('+')))))


n = list(map(int, input().split('+')))
n.sort()
print('+'.join((str(i) for i in n)))


from sys import stdin, stdout
arr = list(map(int, stdin.readline().split('+')))
arr.sort()
s = ''
for i in range(len(arr)):
	s += str(arr[i]) + '+'
s = s[:-1]
stdout.write(s)


sum = input().split('+')
sum.sort()
print('+'.join(sum))


def removeValueFromList(lis, val):
	return [value for value in lis if value != val]
x = input()
x = removeValueFromList(x, '+')
x.sort()
print('+'.join(x))


s = input()
a = []
for i in range(0, len(s), 2):
	a.append(int(s[i]))
a.sort()
print('+'.join(map(str, a)))


s = input()
if len(s) > 1:
	i = [j for j in s.split('+')]
	i.sort(key=int)
	print('+'.join(i))
else:
	print(s)


x = input()
y = len(x)
z = ''
for i in range(0, y, 2):
	z += x[i]
	a = sorted(z)
print('+'.join(a))


from sys import stdin
_input = stdin.readline
(_sorted, _str, _int) = (sorted, str, int)

def solution():
	print(*_sorted([_int(i) for i in _input().rstrip('\n').split('+')]), sep='+')
solution()


str = input()
nums = []
for i in range(len(str)):
	if str[i] == '+':
		pass
	else:
		nums.append(str[i])
nums.sort()
res = ''
for i in range(2 * len(nums) - 1):
	if i % 2 == 1:
		res += '+'
	else:
		res += nums.pop(0)
print(res)


s = input()
k = [int(x) for x in s.split('+')]
k = sorted(k)
for a in range(len(k) - 1):
	print(k[a], end='+')
print(k[-1])


s = list(input())
print('+'.join(['1'] * s.count('1') + ['2'] * s.count('2') + ['3'] * s.count('3')))


string = input()
string2 = string.replace('+', '')
num = []
for i in range(len(string2)):
	num.append(int(string2[i]))
for i in range(len(num) - 1):
	for j in range(i + 1, len(num)):
		if num[i] > num[j]:
			temp = num[i]
			num[i] = num[j]
			num[j] = temp
string3 = ''
for j in range(len(num)):
	string3 += str(num[j])
	if j + 1 != len(num):
		string3 += '+'
print(string3)


a = input()
b = a.split('+')
c = ''
x = 0
y = 0
z = 0
for i in range(len(b)):
	if b[i] == '1':
		x += 1
	elif b[i] == '3':
		y += 1
	else:
		z += 1
for i in range(x):
	c += '1+'
for i in range(z):
	c += '2+'
for i in range(y):
	if i < y - 1:
		c += '3+'
	else:
		c += '3'
if '3' not in a:
	print(c[0:len(c) - 1])
else:
	print(c)


s = str(input())
s = s.split('+')
l = list(s)
l.reverse()
l.sort()
result = []
for i in range(len(l)):
	result.append(l[i])
	result.append('+')
result = result[:-1]
print(''.join(result))


x = input()
c = 0
one = 0
two = 0
three = 0
while c < len(x):
	if x[c] == '1':
		one += 1
	elif x[c] == '2':
		two += 1
	else:
		three += 1
	c += 2
if one > 0 and two > 0 and (three > 0):
	print('1' + '+1' * (one - 1) + '+2' + '+2' * (two - 1) + '+3' + '+3' * (three - 1))
elif one > 0 and two > 0 and (three == 0):
	print('1' + '+1' * (one - 1) + '+2' + '+2' * (two - 1))
elif two > 0 and three > 0 and (one == 0):
	print('2' + '+2' * (two - 1) + '+3' + '+3' * (three - 1))
elif two == 0 and three > 0 and (one > 0):
	print('1' + '+1' * (one - 1) + '+3' + '+3' * (three - 1))
elif two == 0 and three == 0 and (one > 0):
	print('1' + '+1' * (one - 1))
elif two > 0 and three == 0 and (one == 0):
	print('2' + '+2' * (two - 1))
elif three > 0 and two == 0 and (one == 0):
	print('3' + '+3' * (three - 1))


s = list(input().replace('+', ''))
m = ''
s.sort()
l = len(s)
for i in range(l - 1):
	m = m + s[i] + '+'
m = m + s[l - 1]
print(m)


s = input()
l = s.split('+')
k = l.sort()
s = '+'.join(l)
print(s)


a = map(int, input().split('+'))
b = [i for i in a]
b.sort()
b = map(str, b)
b = '+'.join(b)
print(b)


n = input()
n = n.split('+')
n = sorted(n)
print('+'.join(n))


num = input().split('+')
print('+'.join(sorted(num)))


s = str(input())
stk = []
num = []
for i in s:
	if i.isnumeric():
		stk.append(i)
	else:
		num.append(i)
n = len(stk)
for i in range(n - 1):
	for j in range(0, n - i - 1):
		if stk[j] > stk[j + 1]:
			(stk[j], stk[j + 1]) = (stk[j + 1], stk[j])
for x in range(n):
	if x == n - 1:
		print(stk[x])
	else:
		print(stk[x] + '+', end='')


s = input()
s_list = []
result = ''
for character in s:
	s_list.append(character)
s_list.sort()
result = ''
for element in s_list:
	if element.isnumeric():
		result += element + '+'
print(result.rstrip('+'))


s = input()
s = s.replace('+', '')
n = int(s)
l = []
ans = ''
for i in range(len(s)):
	d = n % 10
	l.append(d)
	n = n // 10
l.sort()
for i in range(len(s) - 1):
	print(str(l[i]) + '+', end='')
print(l[len(s) - 1], end='')


T1 = input('')
T1 = T1.split('+')
T1 = sorted(T1)
print('+'.join(T1))


summ = input()
new_summ = ''
a = []
for e in summ:
	if e != '+':
		a.append(e)
a = sorted(a)
for e in a:
	new_summ += e + '+'
print(new_summ[:-1])


def Helpful_Maths(x):
	a = x.split('+')
	a.sort()
	b = ''
	for i in range(len(a)):
		b += a[i]
		if i != len(a) - 1:
			b += '+'
	print(b)
Helpful_Maths(input())


s = input()
m = []
n = []
l = len(s)
for i in s:
	if i != '+':
		m.append(i)
m.sort()
n = '+'.join(m)
print(n)


a = input()
b = a.split('+')
b.sort()
a = ''
for i in b:
	a += i + '+'
a = a[:len(a) - 1]
print(a)


input_line = list(input())
for i in range(len(input_line)):
	if '+' in input_line:
		new_list = input_line.remove('+')
	else:
		new_list = input_line
x = 0
w = []
while x <= len(new_list) - 1:
	w.append(int(new_list[x]))
	x = x + 1
w.sort()
n = 0
s = []
while n <= len(new_list) - 1:
	s.append(str(w[n]))
	n = n + 1
print('+'.join(s))


word = input()
arranged_string = '1' * word.count('1') + '2' * word.count('2') + '3' * word.count('3')
arranged_string_with_plus = ''
for letter in arranged_string:
	arranged_string_with_plus += letter + '+'
print(arranged_string_with_plus[0:len(arranged_string_with_plus) - 1])


s = input()
arr = []
for i in s:
	if i is not '+':
		arr.append(int(i))
arr.sort()
arr = str(arr).strip('[').strip(']').replace(' ', '').replace(',', '+')
print(arr)


s = input()
l = []
for i in range(len(s)):
	if i % 2 == 0:
		l.append(s[i])
l.sort()
r = ''
for i in l:
	r = r + i + '+'
print(r[:-1])


ls = input().split('+')
ls.sort()
ans = ''
for i in range(len(ls) - 1):
	ans += ls[i] + '+'
ans += ls[len(ls) - 1]
print(ans)


word = input()
hasil = []
if len(word) == 1:
	print(word)
else:
	for i in range(0, len(word), 2):
		curr = word[i]
		curr = int(curr)
		hasil.append(curr)
		hasil.sort()
	for j in range(0, len(hasil), 1):
		curr2 = hasil[j]
		curr2 = str(curr2)
		print(curr2, end='')
		if j != len(hasil) - 1:
			print('+', end='')


S = []
S = input().split('+')
S = sorted(S)
R = ''
R += S[0]
for i in range(1, len(S)):
	R += '+' + S[i]
print(R)


l = list(map(int, input().split('+')))
l.sort()
s = ''
for i in l:
	s += str(i) + '+'
print(s[:len(s) - 1])


n = input()
l = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
lst = []
l1 = []
if n in l:
	print(n)
else:
	for i in n:
		if i in l:
			lst.append(i)
	k = sorted(lst)
	for i in range(len(k)):
		l1.append(k[i])
		l1.append('+')
	for i in l1[0:len(l1) - 1]:
		print(i, end='')


a = list(input().split('+'))
a.sort()
b = ''
for i in range(len(a)):
	b = b + a[i] + '+'
print(b.rstrip('+'))


from sys import stdin
inp = stdin.readline()
if len(inp) > 0 and len(inp) < 101:
	arr = str(inp).replace('\n', '').split('+')
	arr.sort()
	i = 0
	ou = ''
	while i < len(arr):
		ou = ou + arr[i] + '+'
		i = i + 1
	print(ou[0:len(ou) - 1])
else:
	print('Error')


seq = input()
values = list(map(int, seq.split('+')))
values = sorted(values)
up_seq = ''
for value in values[:-1]:
	up_seq += str(value) + '+'
up_seq += str(values[-1])
print(up_seq)


s = input()
arr = [x for x in s if x.isdigit()]
ans = '+'.join(sorted(arr))
print(ans)


s = input()
li = []
for i in s:
	if i != '+':
		li.append(i)
if len(s) == 1:
	print(li[0])
else:
	li.sort()
	print('+'.join(li))


l = list(map(int, input().split('+')))
l = sorted(l)
a = ''
if len(l) == 1:
	print(l[0])
	exit()
for i in l:
	a += str(int(i)) + '+'
print(a[0:len(a) - 1])


s = input()
mas = s.split('+')
mas.sort()
res = ''
for digit in mas:
	res += digit + '+'
print(res[:-1])


problem = list(input())
x = ['+']
maths = []
ans1 = []
for i in problem:
	if i not in x:
		maths.append(i)
	else:
		continue
maths = sorted(maths)
for i in maths:
	ans1.append(i + '+')
ans2 = ''.join(ans1)
ans3 = list(ans2)
del ans3[-1]
print(''.join(ans3))


b = list(input().split('+'))
b.sort()
print('+'.join(b))


s = input()
l = len(s)
n = l // 2
lst = []
for i in range(0, l):
	if s[i] == '1' or s[i] == '2' or s[i] == '3':
		p = int(s[i])
		lst.append(p)
lst.sort()
f = lst[0]
ans = [f]
if n != 0:
	for j in range(0, n):
		q = lst[j + 1]
		ans.append('+')
		ans.append(q)
	a = ''.join([str(s) for s in ans])
	print(a)
else:
	print(lst[0])


a = str(input())
l = a.split('+')
c = 1
l.sort()
for i in l:
	print(str(i), sep='', end='')
	if c == len(l):
		break
	else:
		print('+', end='')
		c += 1


s = input()
s = s.split('+')
s.sort()
for i in s[0:len(s) - 1]:
	print(i, '+', sep='', end='')
print(s[len(s) - 1])


str = input()
li = str.split('+')
c = 0
li.sort()
for x in li:
	print(x, end='')
	c += 1
	if c == len(li):
		break
	print('+', end='')


a = input().split('+')
a = sorted(a)
for x in range(len(a)):
	print(a[x], end='')
	if x != len(a) - 1:
		print('+', end='')


import sys
import math
import bisect
import itertools
import random

def main():
	A = list(map(int, input().split('+')))
	A.sort()
	print('+'.join(list((str(a) for a in A))))
main()


s = [int(x) for x in input().split('+')]
s.sort()
if len(s) <= 1:
	print(str(s[0]))
else:
	for i in range(len(s)):
		if i != len(s) - 1:
			print(str(s[i]) + '+', end='')
		else:
			print(str(s[i]), end='')


line = input()
lst = []
for c in line:
	if c != '+':
		lst.append(int(c))
lst = sorted(lst)
if len(lst) == 1:
	print(lst[0])
else:
	sc = '' + str(lst[0])
	for i in range(1, len(lst)):
		sc = sc + '+' + str(lst[i])
	print(sc)


val = input()
val_list = sorted(val.split('+'))
for i in val_list[:-1]:
	print(i, end='+')
print(val_list[-1])


string = input()
count_1 = string.count('1')
count_2 = string.count('2')
count_3 = string.count('3')
new_string = ''
for i in range(count_1):
	new_string += '1+'
for i in range(count_2):
	new_string += '2+'
for j in range(count_3):
	new_string += '3+'
print(new_string[0:-1])


arr = input().split('+')
arr.sort()
list = []
for i in range(len(arr)):
	list.append(arr[i])
s = '+'
s = s.join(list)
print(s)


a = input()
lis = list(a)
while '+' in lis:
	lis.remove('+')
li = sorted(lis)
print('+'.join(li))


problem = []
problem.append(input())
nums = []
for i in range(0, len(problem[0]), 2):
	nums.append(int(problem[0][i]))
length = len(nums)
sorted_nums = []
smallest = 0
while len(sorted_nums) < length:
	for i in range(len(nums)):
		if smallest == 0:
			smallest = nums[i]
		elif nums[i] < smallest:
			smallest = nums[i]
		else:
			continue
	for j in range(len(nums)):
		if nums[j] == smallest:
			del nums[j]
			break
		else:
			continue
	sorted_nums.append(smallest)
	smallest = 0
	len(sorted_nums)
final_ans = ''
for k in range(len(sorted_nums)):
	if k < len(sorted_nums) - 1:
		final_ans += str(sorted_nums[k]) + '+'
	else:
		final_ans += str(sorted_nums[k])
print(final_ans)


s = input().split('+')
a = []
for i in range(len(s)):
	a.append(s[i])
a.sort()
for i in range(len(a)):
	if i == len(a) - 1:
		print(a[i])
	else:
		print(a[i], end='+')


sequence = [x for x in input().split('+')]
sequence.sort()
s = '+'.join(sequence)
print(s)


x = sorted([int(i) for i in input().split('+')])
ans = ''
for i in x:
	ans += str(i) + '+'
print(ans[:-1])


l = []
s = input()
l[:0] = s
a = []
b = []
for i in range(len(l)):
	if l[i].isnumeric():
		a.append(l[i])
		b.append(i)
a.sort()
for i in range(len(a)):
	l[b[i]] = a[i]
s1 = ''.join(map(str, l))
print(s1)


s = input()
s_l = list(s)
for x in s:
	if x == '+':
		s_l.remove(x)
s_l.sort()
i = 1
while len(s_l) < len(s):
	s_l.insert(i, '+')
	i += 2
print(*s_l, sep='')


str = input()
x = str.split('+')
x.sort()
str2 = ''
index = 0
for i in x:
	str2 += i
	if index != len(x) - 1:
		str2 += '+'
	index += 1
k = len(str2)
print(str2)


a = input().strip()
mylist = []
i = 0
while i < len(a):
	mylist.append(a[i])
	i += 2
new_list = sorted(mylist)
result = ''
if len(new_list) == 1:
	print(new_list[0])
else:
	for j in range(len(new_list) - 1):
		result = result + new_list[j] + '+'
	result = result + new_list[j + 1]
	print(result)


s = list(map(int, input().split('+')))
s = sorted(s)
print(*s, sep='+')


addends = [int(i) for i in input().split('+')]
addends.sort()
for i in range(len(addends)):
	if i > 0:
		print(end='+')
	print(addends[i], end='')
print()


lin = input()
nlin = []
nnlin = []
i = 0
while i <= len(lin):
	nlin.append(lin[i])
	i += 2
nlin.sort()
for j in range(len(lin)):
	if j % 2 == 0:
		nnlin.append(nlin[int(j / 2)])
	else:
		nnlin.append('+')
print(''.join(nnlin))


input = input()
list = []
for i in range(0, len(input)):
	if input[i] != '+':
		list.append(input[i])
list.sort()
for i in range(0, len(list) * 2 - 1):
	if i % 2 == 1:
		list.insert(i, '+')
string = ''.join(list)
print(string)


a = input()
l = []
for i in a:
	if i.isdigit():
		l.append(int(i))
l = sorted(l)
s = ''
s += str(l[0])
for i in l[1:len(l)]:
	s += '+' + str(i)
print(s)


string = input()
lst = []
for i in string:
	if i != '+':
		lst.append(int(i))
	else:
		continue
lst.sort()
print('+'.join(map(str, lst)))


s = input()
d = {}
s1 = sorted(s)
count = 0
for i in s1:
	if i == '+':
		count += 1
	else:
		print(i, end='')
		if count > 0:
			print('+', end='')
			count -= 1


string = input()
print('+'.join(sorted(string[::2])))


line = input().split('+')
line = sorted(line)
for i in range(len(line)):
	if i == len(line) - 1:
		print(line[i])
	else:
		print(line[i] + '+', end='')


oristr = str(input())
orilist = oristr.split('+')
n = 1
while n < int(len(orilist)):
	if int(orilist[n]) < int(orilist[n - 1]):
		var_1 = orilist[n]
		orilist[n] = orilist[n - 1]
		orilist[n - 1] = var_1
		n = 1
	else:
		n += 1
strl = '+'
answer = strl.join(orilist)
print(answer)


a = input()
b = a.split('+')
b.sort()
n = ''
for i in range(len(b)):
	if i + 1 == len(b):
		n = n + b[i]
	else:
		n = n + b[i] + '+'
print(n)


numbers = input().split('+')
NewOrder = sorted(numbers)
Sum = '+'.join(NewOrder)
print(Sum)


m = str(input())
s = m.replace('+', ' ')
n = s.split()
new = sorted(n)
print('+'.join(new))


s = input()
ones = s.count('1')
twos = s.count('2')
threes = s.count('3')
digits = []
for i in range(ones):
	digits.append('1')
for i in range(twos):
	digits.append('2')
for i in range(threes):
	digits.append('3')
print('+'.join(digits))


string = str(input())
arr = []
for i in range(0, len(string), 2):
	arr.append(int(string[i]))
arr.sort()
res = str(arr[0])
for i in range(1, len(arr)):
	res += '+' + str(arr[i])
print(res)


input = input()
split = input.split('+')
split.sort()
print('+'.join(split))


formula = list(input())
while '+' in formula:
	formula.remove('+')
formula.sort()
refml = []
for number in formula:
	refml.append(number)
	refml.append('+')
del refml[-1]
reformula = ''.join(refml)
print(reformula)


n = input()
l = []
for i in range(len(n)):
	if n[i] == '+':
		continue
	else:
		l.append(int(n[i]))
s = ''
l.sort()
l = map(str, l)
print('+'.join(l))


x = input().split('+')
x = list(map(int, x))
x = sorted(x)
l = []
for i in x:
	l.append(i)
l = list(map(str, l))
print('+'.join(l))


s = input()
x = y = z = 0
l = len(s)
for i in range(0, l, 2):
	if s[i] == '1':
		x += 1
	elif s[i] == '2':
		y += 1
	else:
		z += 1
ss = '1+' * x + '2+' * y + '3+' * z
sk = list()
t = len(ss)
for i in range(t):
	sk.append(ss[i])
sk.pop(-1)
sk = ''.join(sk)
print(sk)


s = input()
s1 = s.split('+')
s1.sort()
ans = []
for i in s1:
	ans.append(i)
	ans.append('+')
print(''.join(ans)[:len(ans) - 1])


s = input()
l = list(s)
l.sort()
n = l.count('+')
for j in range(n):
	l.remove('+')
s = '+'.join(l)
print(s)


input_string = list(map(int, input().split('+')))
input_string.sort()
output_string = ''
for (i, j) in enumerate(input_string):
	if i == len(input_string) - 1:
		output_string += f'{j}'
	else:
		output_string += f'{j}+'
print(output_string)


n = input()[::2]
a = []
for i in n:
	a += [i]
a.sort()
b = ''
for i in a:
	b += i + '+'
print(b[:-1])


x = input()
if len(x) == 1:
	print(x)
else:
	l = x.split('+')
	l2 = []
	for i in range(len(l)):
		l2.append(int(l[i]))
	l2.sort()
	for i in range(len(l2)):
		print(l2[i], end='')
		if i != len(l2) - 1:
			print('+', end='')


s = input()
s = list(s)
lst = []
for i in range(0, len(s), 2):
	lst.append(s[i])
lst.sort()
k = 0
for i in range(0, len(s), 2):
	s[i] = lst[k]
	k += 1
print(''.join(s))


print('+'.join(sorted(list(filter(lambda x: x != '+', input())))))


string = input()
c1 = 0
c2 = 0
c3 = 0
for char in string:
	if char == '1':
		c1 += 1
	if char == '2':
		c2 += 1
	if char == '3':
		c3 += 1
stringf = ''
for j in range(0, c1):
	if stringf == '':
		stringf += '1'
	else:
		stringf += '+1'
for k in range(0, c2):
	if stringf == '':
		stringf += '2'
	else:
		stringf += '+2'
for l in range(0, c3):
	if stringf == '':
		stringf += '3'
	else:
		stringf += '+3'
print(stringf)


a = input()
a = a.replace('+', '')
b = sorted(a)
c = '+'.join(b)
print(c)


sequence = input()
lst = []
str = ''
for i in sequence:
	if i.isdigit():
		lst.append(i)
	lst.sort()
for j in lst:
	str += j
	str += '+'
print(str[0:-1])


a = [int(s) for s in input().split('+')]
a.sort()
print('+'.join((str(elem) for elem in a)))


s = input()
l = []
for i in range(0, len(s)):
	if i % 2 == 0:
		l.append(s[i])
l.sort()
j = 0
s1 = ''
for i in range(0, len(s)):
	if i % 2 == 0:
		s1 = s1 + l[j]
		j += 1
	else:
		s1 = s1 + '+'
print(s1)


a = input().split('+')
print(*sorted(a), sep='+')


x = input()
y = x.split('+')
y = sorted(y, key=int)
print('+'.join(y))


a = input().split('+')
a = sorted(a, key=int)
for i in range(len(a)):
	if not i == len(a) - 1:
		print(str(a[i]) + '+', end='')
	else:
		print(str(a[i]))


print(*sorted([int(i) for i in input().split('+')]), sep='+')


n = input()
l = n.split('+')
l = [int(x) for x in l]
s = '+'
temp = sorted(l)
temp = [str(x) for x in temp]
res = s.join(temp)
print(res)


s = input()
number = [x for x in s if x != '+']
number.sort()
s_new = str(number[0])
for i in range(1, len(number)):
	s_new += '+' + str(number[i])
print(s_new)


a = input()
b = list(a)
b.sort()
num = '123'
valid = []
for i in num:
	for j in b:
		if i == j:
			valid.append(j)
for i in range(len(valid) - 1):
	valid[i] = valid[i] + '+'
str = ''
for j in valid:
	str += j
print(str)


s = input().split('+')
s.sort(key=lambda x: int(x))
st = ''
for i in s:
	st += i + '+'
print(st[0:-1])


a = input().split('+')
a.sort()
x = '+'.join(a)
print(x)


try:
	(c, oc, ns) = (input().split('+'), list(), '')
	if '1' in c or '2' in c or '3' in c:
		if len(c) > 1:
			n = 1
			for i in range(3):
				for ii in range(c.count(str(n))):
					oc.append(str(n))
					oc.append('+')
				n += 1
			del i
			for i in oc[:-1]:
				ns += i
			print(ns)
		else:
			print(c[0])
except:
	pass


s = input()
new = ''
(a, b, c) = (s.count('1'), s.count('2'), s.count('3'))
new += a * '1+'
new += b * '2+'
new += c * '3+'
print(new.rstrip('+'))


s = input().replace(' ', '')
a = []
for i in range(0, len(s), 2):
	a.append(int(s[i]))
a = sorted(a)
for i in range(len(a)):
	print(str(a[i]) + ['+', ''][i == len(a) - 1], end='')


sequence = input()
sequence = list(sequence)
numbers = []
for i in sequence:
	if i == '+':
		continue
	else:
		numbers.append(i)
numbers.sort()
order = ''
for elements in numbers:
	order += elements + '+'
order = list(order)
order.pop()
result = ''
for elem in order:
	result += elem
print(result)


input_str = input()
input_list = input_str.split('+')
processed_input = [int(x) for x in input_list]
processed_input.sort()
i = 0
while i < len(processed_input):
	print(processed_input[i], end='')
	if i != len(processed_input) - 1:
		print('+', end='')
	i += 1


s = str(input())
num = [int(j) for j in s.split('+')]
num.sort()
s = str(num[0])
for i in range(1, len(num)):
	s = s + '+' + str(num[i])
print(s)


equation = list(input().split('+'))
equation.sort()
print('+'.join(equation))


a = list(map(int, input().split('+')))
a.sort()
print(*a, sep='+')


i = input().split('+')
print('+'.join(sorted(i)))


s = input().strip()
l = list((int(x) for x in s.split('+')))
l.sort()
r = '+'.join((str(x) for x in l))
print(r)


s = input()
l = []
for c in s:
	if c.isdigit():
		l.append(c)
l.sort()
print('+'.join(l))


from sys import stdin

def main():
	s = stdin.readline().strip().split('+')
	while s != ['']:
		s.sort()
		s = '+'.join(s)
		print(s)
		s = stdin.readline().strip().split('+')
main()


y = list(input().split('+'))
y.sort()
print('+'.join(y))


s = input()
lis = s.split('+')
for i in range(len(lis)):
	lis[i] = int(lis[i])
lis.sort()
for i in range(len(lis)):
	lis[i] = str(lis[i])
print('+'.join(lis))


s = input().split('+')
st = sorted(list(map(int, s)))
print('+'.join(list(map(str, st))))


num = input()
answer = ''
num = num.split('+')
num.sort()
for i in range(len(num) - 1):
	answer = answer + num[i] + '+'
answer = answer + num[len(num) - 1]
print(answer)


n = input()
l = []
for i in range(0, len(n), 2):
	a = int(n[i])
	l.append(a)
l.sort()
for i in range(len(n) // 2):
	print(l[i], end='')
	print('+', end='')
print(l[-1])


x = input()
n1 = n2 = n3 = 0
for i in x:
	if i == '1':
		n1 += 1
	elif i == '2':
		n2 += 1
	elif i == '3':
		n3 += 1
ans = '1+' * n1 + '2+' * n2 + '3+' * n3
print(ans[:len(x)])


x = input()
y = x[::2]
z = sorted(y)
print('+'.join(z))


s = input()
s = s.replace('+', ' ')
nums = list(map(int, s.split()))
occ = [0] * 3
for x in nums:
	occ[x - 1] += 1
s2 = ''
for x in range(0, 3):
	s2 += (str(x + 1) + '+') * occ[x]
print(s2[0:len(s2) - 1])


string = input()
nums = []
if len(string) == 1:
	print(string)
else:
	c = 0
	while c < len(string):
		nums.append(int(string[c]))
		c = c + 2
nums.sort()
hasil = ''
for num in nums:
	hasil = hasil + str(num) + '+'
print(hasil[:-1])


string = input()
mass = []
for i in string:
	mass.append(i)
mass.append('+')
mass.append(4)
for i in range(0, len(string), 2):
	mass[i] = int(mass[i])
for i in range(len(string)):
	for i in range(0, len(string), 2):
		if mass[i] > mass[i + 2]:
			a = mass[i]
			mass[i] = mass[i + 2]
			mass[i + 2] = a
mass.pop()
mass.pop()
for i in range(0, len(string), 2):
	mass[i] = str(mass[i])
answer = ''.join(mass)
print(answer)


summands_list = list(map(int, input().split('+')))
summands_list = sorted(summands_list)
summands_list = list(map(str, summands_list))
print('+'.join(summands_list))


INPTD = str(input())
LST = [0]
if INPTD.find('+') != -1:
	LST = [int(x) for x in INPTD.split('+')]
else:
	LST[0] = int(INPTD)

def qsort1(trgt_lst):
	pvt_pnt = trgt_lst[1]
	lesser = qsort1([x for x in trgt_lst[1:] if x < pvt_pnt])
	bigger = qsort1([x for x in trgt_lst[1:] if x >= pvt_pnt])
	return lesser + [pvt_pnt] + bigger
LST.sort()
endString = ''
for val in LST:
	endString += str(val) + '+'
lastchar = len(endString) - 1
endString2 = endString[:lastchar]
print(endString2)


import re

def solution(s):
	p1 = re.compile('[^+]')
	x = re.finditer(p1, s)
	new_sum = '+'.join(sorted([i.group() for i in x]))
	print(new_sum)
s = input()
solution(s)


t = str(input())
listt = []
for i in range(0, len(t), 2):
	a = t[i]
	listt.append(a)
listt.sort()
print(*listt, sep='+')


original = input()
symbols = original.split('+')
parts = {}
for s in symbols:
	if s in parts:
		parts[s] += 1
	else:
		parts[s] = 1
ones = parts.get('1', 0)
twos = parts.get('2', 0)
threes = parts.get('3', 0)
raw = []
for x in range(ones):
	raw.append('1')
for x in range(twos):
	raw.append('2')
for x in range(threes):
	raw.append('3')
print('+'.join(raw))


xs = [x for x in input().split('+')]
xs.sort()
print('+'.join(xs))


s = input()
y = s.split('+')
y.sort()
for x in range(1, len(s), 2):
	y[x:x] = '+'
z = ''
for x in y:
	z = z + x
print(z)


def solve(word):
	nums = word.split('+')
	nums.sort()
	return '+'.join(nums)
word = input()
print(solve(word))


mi = [c for c in input().split('+')]
print('+'.join(sorted(mi)))


import sys
import math
s = input()
t = sorted([int(x) for x in s if x != '+'])
s = '+'.join(map(str, t))
print(s)


k = list(map(int, input().split('+')))
k.sort()
if len(k) == 1:
	print(k[0])
else:
	l = ''
	for i in k:
		if len(l) == 0:
			l = str(i)
		else:
			l = l + '+' + str(i)
	print(l)


a = [int(x) for x in input().split('+')]
a.sort()
res = ''
for x in a:
	res += str(x) + '+'
print(res[:-1])


angka = list(map(int, input().split('+')))
angka = sorted(angka)
hasil = ''
for i in range(0, len(angka)):
	hasil += str(angka[i])
	if i < len(angka) - 1:
		hasil += '+'
print(hasil)


s = input()
i = 0
l = len(s)
p = []
while i < l:
	if s[i] == '+':
		i = i + 1
	else:
		p.append(s[i])
		i = i + 1
p.sort()
j = 0
o = []
k = len(p)
while j < k:
	o.append(p[j])
	o.append('+')
	j = j + 1
o.pop(-1)
v = ''.join(o)
print(v)


a = str(input())
n = 0
l = 0
b = list(a)
for c in b:
	if c == '+':
		c = 0
		n += 1
b.sort()
v = len(b)
z = []
for p in range(n, v - 1):
	z.append(b[p])
	z.append('+')
z.append(b[v - 1])
for i in z:
	print(i, end='')


n = input()
lst = []
for i in n:
	if i != '+':
		lst += [i]
lst = sorted(lst)
res = ''
for i in range(len(lst) - 1):
	res += lst[i] + '+'
print(res + lst[-1])


t = input()
r = t[0::2]
r = list(r)
r = sorted(r)
re = ''
for i in r:
	re = re + i
print('+'.join(re))


s = input().split('+')
s = sorted(s)
if len(s) == 1:
	print(s[0])
else:
	ans = s[0]
	for i in range(1, len(s)):
		ans += '+' + s[i]
	print(ans)


string = str(input())
length = len(string)
output = []
num1 = string.count('1')
num2 = string.count('2')
num3 = string.count('3')
answer = 'a'
for i in range(num1):
	output.append('1')
	if i == num1 - 1 and num2 == 0 and (num3 == 0):
		break
	else:
		output.append('+')
for j in range(num2):
	output.append('2')
	if j == num2 - 1 and num3 == 0:
		break
	else:
		output.append('+')
for k in range(num3):
	output.append('3')
	if k == num3 - 1:
		break
	else:
		output.append('+')
output = ''.join(output)
print(output)


s = list(map(str, input().split('+')))
s.sort()
z = '+'.join(s)
print(z)


n = input()
c1 = 0
c2 = 0
c3 = 0
for i in n:
	if i == '1':
		c1 += 1
	if i == '2':
		c2 += 1
	if i == '3':
		c3 += 1
if c1 != 0:
	print('1', end='')
	c1 -= 1
elif c2 != 0:
	print('2', end='')
	c2 -= 1
elif c3 != 0:
	print('3', end='')
	c3 -= 1
while c1 != 0:
	c1 -= 1
	print('+1', end='')
while c2 != 0:
	c2 -= 1
	print('+2', end='')
while c3 != 0:
	c3 -= 1
	print('+3', end='')


n = sorted(list(input()))
d = ''.join(n)
a = len(d)
b = (a - 1) // 2
c = d[b:a]
e = '+'.join(c)
print(e)


import string
numbers = [int(i) for i in input() if i in string.digits]
numbers.sort()
output = ''
if len(numbers) == 1:
	print(numbers[0])
else:
	for _ in range(len(numbers)):
		if _ == len(numbers) - 1:
			output += str(numbers[_])
		else:
			output += str(numbers[_]) + '+'
print(output)


string = input()
string = string.replace('+', '')
sorteds = sorted(string)
string = '+'.join(sorteds)
print(string)


n = input()
n1 = n2 = n3 = 0
for i in range(0, len(n), 2):
	if n[i] == '1':
		n1 += 1
	elif n[i] == '2':
		n2 += 1
	else:
		n3 += 1
ss = '1+' * n1 + '2+' * n2 + '3+' * n3
print(ss[:-1])


list_ = input().split('+')
print('+'.join(sorted(list_)))


calculationList = list(map(int, input().split('+')))
calculationList.sort()
print('+'.join(map(str, calculationList)))


s = input()
main = []
for i in s:
	if i != '+':
		main.append(i)
result = ''
main.sort()
for i in main:
	result = result + i + '+'
print(result[:-1])


s = input()
h = ''
p = ''
a1 = s.count('1')
a2 = s.count('2')
a3 = s.count('3')
h = '1' * a1 + '2' * a2 + '3' * a3
for x in range(len(h)):
	if x != 0:
		p = p + '+' + h[x]
	else:
		p = p + h[x]
print(p)


import math, string, itertools, fractions, heapq, collections, re, array, bisect, sys, copy, functools
sys.setrecursionlimit(10 ** 7)
inf = 10 ** 20
eps = 1.0 / 10 ** 10
mod = 10 ** 9 + 7
dd = [(-1, 0), (0, 1), (1, 0), (0, -1)]
ddn = [(-1, 0), (-1, 1), (0, 1), (1, 1), (1, 0), (1, -1), (0, -1), (-1, -1)]

def LI():
	return list(map(int, sys.stdin.readline().strip().split()))

def LLI():
	return [list(map(int, l.split())) for l in sys.stdin.readlines().strip()]

def LI_():
	return [int(x) - 1 for x in sys.stdin.readline().strip().split()]

def LF():
	return [float(x) for x in sys.stdin.readline().strip().split()]

def LS():
	return sys.stdin.readline().strip().split()

def I():
	return int(sys.stdin.readline().strip())

def F():
	return float(sys.stdin.readline().strip())

def S():
	return sys.stdin.readline().strip()

def pf(s):
	return print(s, flush=True)

def pe(s):
	return print(str(s), file=sys.stderr)

def JA(a, sep):
	return sep.join(map(str, a))

def JAA(a, s, t):
	return s.join((t.join(map(str, b)) for b in a))
from math import factorial, gcd
from random import choice, randint
from sys import stdin, stdout
inp = stdin.readline
out = stdout.write

def main():
	s = S().split('+')
	s.sort()
	print('+'.join(s))
main()


my_inp = input()
list = my_inp.split('+')
ordered = []
done = []
for char in list:
	ordered.append(int(char))
ordered.sort()
for char in ordered:
	done.append(str(char))
print('+'.join(done))


n = str(input())
c = sorted(n.split('+'))
d = '+'.join(c)
print(d)


a = 0
l = []
user_input = list(input())
for element in user_input:
	if element != '+':
		l.append(element)
l = list(map(int, l))
l.sort()
for i in l:
	a += 1
	if a == len(l):
		print(i, end='')
	else:
		print(i, end='+')


s = input()
lst = []
str = ''
text = s.split('+')
text.sort()
for i in text:
	lst.append(i)
	lst.append('+')
lst.pop()
for i in lst:
	str += i
print(str)


x = input().split('+')
mas = []
x = list(map(int, x))
x.sort()
p = '+'.join(list(map(str, x)))
print(p)


str = input().split('+')
str.sort()
for r in range(len(str) - 1):
	print(str[r], end='')
	print('+', end='')
print(str[len(str) - 1])


st = input()
L = []
for i in range(len(st)):
	if st[i] == '+':
		i = +1
	else:
		L.append(st[i])
L = sorted(L)
L1 = []
for j in range(len(L)):
	L1.append(L[j])
	L1.append('+')
L1.pop()
s = ''
for i in range(len(L1)):
	s = s + L1[i]
print(s)


s = input()
k = [int(x) for x in s if x.isdigit()]
k.sort()
ans = ''
for i in range(len(k)):
	if i != len(k) - 1:
		ans += str(k[i]) + '+'
	else:
		ans += str(k[i])
print(ans)


b = input()
plus = b.count('+')
a = b.split('+')
a.sort()
for i in range(2 * plus):
	if i % 2 != 0:
		a.insert(i, '+')
print(''.join(a))


summans = input()
if '+' in summans:
	summans = summans.split('+')
	summans = sorted(summans)
	print('+'.join(summans))
else:
	print(summans)


statement = input()
statement = statement.replace('+', ' ')
stlist = [int(i) for i in statement.split()]
stlist.sort()
mystring = '+'.join([str(item) for item in stlist])
print(mystring)


s = input()
p = s.count('1')
q = s.count('2')
r = s.count('3')
for i in range(p):
	if i == p - 1 and q == 0 and (r == 0):
		print('1', end='')
	else:
		print('1' + '+', end='')
for i in range(q):
	if i == q - 1 and r == 0:
		print('2', end='')
	else:
		print('2' + '+', end='')
for i in range(r):
	if i < r - 1:
		print('3' + '+', end='')
	else:
		print('3', end='')


stri = input().split('+')
stri.sort()
print(*stri, sep='+')


s = input()
s1 = s.split('+')
for i in range(s1.__len__()):
	s1[i] = int(s1[i])
s1.sort()
for j in range(s1.__len__()):
	if j != 0:
		print('+', end='')
		print(s1[j], end='')
	else:
		print(s1[j], end='')


cul = list(input())
n = (len(cul) + 1) // 2
s1 = 0
s2 = 0
s3 = 0
for i in range(0, n):
	if int(cul[2 * i]) == 1:
		s1 += 1
	elif int(cul[2 * i]) == 2:
		s2 += 1
	else:
		s3 += 1
if s1 > 0:
	cul_ = '1'
	s1 -= 1
elif s2 > 0:
	cul_ = '2'
	s2 -= 1
else:
	cul_ = '3'
	s3 -= 1
while s1 > 0:
	cul_ += '+1'
	s1 -= 1
while s2 > 0:
	cul_ += '+2'
	s2 -= 1
while s3 > 0:
	cul_ += '+3'
	s3 -= 1
print(cul_)


numbers = sorted(input().split('+'))
print(*numbers, sep='+')


def main():
	s = input().strip().split('+')
	if len(s) == 1:
		print(s[0])
		return
	s.sort()
	print('+'.join(s))
	return
main()


a = input().split('+')
a.sort()
(xx, ll) = (0, len(a))
for aa in a:
	xx = xx + 1
	print(aa, end='')
	if xx != ll:
		print('+', end='')
print()


N = input().split('+')
Number = [int(i) for i in N]
Number.sort()
for i in range(len(Number) - 1):
	print(Number[i], end='+')
print(Number[len(Number) - 1])


s = str(input())
a = []
f = ''
for i in range(len(s)):
	if s[i] != '+':
		a.append(s[i])
a = sorted(a)
for i in range(len(a)):
	f += str(a[i]) + '+'
print(f[:-1])


ls = list(map(int, input().rstrip().split('+')))
ls.sort()
l = len(ls)
for i in range(l - 1):
	print(ls[i], end='+')
print(ls[-1])


n = input()
if len(n) <= 2:
	print(n)
else:
	n = n.split(sep='+')
	n = sorted(n)
	print('+'.join(n))


input_array = list(map(str, input().split('+')))
if len(input_array) == 1:
	print(input_array[0])
else:
	input_array.sort()
	print('+'.join(input_array))


numbers = input().split('+')
orders = sorted(numbers)
l = len(orders)
i = 0
ordered = ''
for number in orders:
	i += 1
	if i == l:
		ordered += number
		break
	ordered += number + '+'
print(ordered)


st = list(input())
l = []
for i in st:
	if i != '+':
		l.append(i)
l.sort()
for i in range(len(l)):
	if i != len(l) - 1:
		print(l[i], end='')
		print('+', end='')
	else:
		print(l[i])


a = input()
a1 = a.count('1')
a2 = a.count('2')
a3 = a.count('3')
b = ''
for i in range(a1):
	b = b + '1'
	b = b + '+'
for i in range(a2):
	b = b + '2'
	b = b + '+'
for i in range(a3):
	b = b + '3'
	b = b + '+'
print(b[:-1])


digits = []
for item in input().split('+'):
	digits.append(item)
digits.sort()
print('+'.join(digits))


s = input()
ones = 0
twos = 0
threes = 0
for i in range(0, len(s), 2):
	if s[i] == '1':
		ones += 1
	if s[i] == '2':
		twos += 1
	if s[i] == '3':
		threes += 1
p = ''
for j in range(ones):
	p = p + '1z'
for k in range(twos):
	p = p + '2z'
for l in range(threes):
	p = p + '3z'
noOf = len(p) // 2 - 1
l = p.replace('z', '+', noOf)
print(l.replace('z', ''))


n = input().split('+')
k = n[:]
k.sort(key=int)
for i in range(1, 2 * int(len(k)) - 1, 2):
	k.insert(i, '+')
m = ''
for num in k:
	m = m + num
print(m)


n = list(map(int, input().strip().split('+')))
n.sort()
s = ''
for x in range(0, len(n) - 1):
	s = s + str(n[x]) + '+'
s = s + str(n[len(n) - 1])
print(s)


ab = input()
lst = ab.split('+')
lst.sort()
print('+'.join(lst))


s = input().split('+')
s.sort()
a = ''
for i in s:
	a += i + '+'
print(a[0:-1])


n = input()
lstn = n.split('+')
lstn.sort()
news = '+'.join((x for x in lstn))
print(news)


equation = input()
x = len(equation)
a = x / 2 + 0.5
a = int(a)
d = []
for i in range(a):
	d.append(equation[2 * i])
for i in range(a):
	for j in range(a - 1):
		if d[j] > d[j + 1]:
			k = d[j]
			d[j] = d[j + 1]
			d[j + 1] = k
for i in range(a - 1):
	print(d[i] + '+', end='')
print(d[a - 1])


def convert():
	output = '+'.join([str(s) for s in sorted([int(i) for i in input().split('+')])])
	print(output)
convert()


array = list(input().split('+'))
array.sort()
l = len(array)
add = 0
for i in array:
	add += 1
	print(f'{i}', end='')
	if add < l:
		print('+', end='')


a = input().split('+')
a.sort()
print('+'.join((x for x in a)))


ar = input()
arr = ar.split('+')
for i in range(len(arr) - 1):
	minIndex = i
	for j in range(i + 1, len(arr)):
		if arr[j] < arr[minIndex]:
			minIndex = j
	if minIndex != i:
		(arr[i], arr[minIndex]) = (arr[minIndex], arr[i])
for final in range(len(arr)):
	print(int(arr[final]), end='')
	if final != len(arr) - 1:
		print('+', end='')


a = input()
b = ''
A = []
for i in a:
	if i in '321':
		A.append(i)
A.sort()
for i in range(len(A) - 1):
	b += A[i] + '+'
b += A[-1]
print(b)


l = list(map(int, input('').split('+')))
l.sort()
for i in range(len(l)):
	if i == len(l) - 1:
		print(str(l[i]))
	else:
		print(str(l[i]) + '+', end='')


lst = list(map(int, input().split('+')))
lst.sort()
a = ''
for i in range(len(lst)):
	if i == len(lst) - 1:
		a += str(lst[i])
	else:
		a += str(lst[i]) + '+'
print(a)


import io
import os
s = input().split('+')
s.sort()
print('+'.join(s))


s = input()
n = int((len(s) + 1) / 2)
x = [0 for i in range(n)]
for i in range(n):
	x[i] = s[2 * i]
	x[i] = int(x[i])
for i in range(n):
	for j in range(i, n):
		if x[i] > x[j]:
			a = x[j]
			x[j] = x[i]
			x[i] = a
for i in range(n):
	if i == n - 1:
		print(x[i], end='')
	else:
		print(x[i], end='+')


exp = str(input())
a = [int(i) for i in exp if i != '+']
b = [i for i in sorted(a)]
c = list()
for i in b:
	c.append(i)
	c.append('+')
del c[len(c) - 1]
d = [str(i) for i in c]
a = ''.join(d)
print(a)


nums = list(input().split('+'))
nums_sorted = sorted(nums)
plus = '+'
final = plus.join(nums_sorted)
print(final)


math = input()
list = math.split('+')
string = str
newList = []
for i in range(0, len(list)):
	n = int(list[i])
	newList.append(n)
newList.sort()
done = '+'.join(map(str, newList))
print(done)


s = input()
t = []
for c in s:
	if c != '+':
		t.append(c)
t.sort()
t = '+'.join(t)
print(t)


numbers = list(map(int, input().split('+')))
numbers.sort()
for i in range(len(numbers) - 1):
	print(numbers[i], end='+')
print(numbers[-1])


a = [i for i in input().split('+')]
a.sort()
print('+'.join(a))


s = input()
s_len = len(s)
if s_len is 1:
	print(s)
	exit()
else:
	new_list = s.split('+')
new_list.sort()
for number in range(len(new_list) - 1):
	print(new_list[number] + '+', end='')
print(new_list[len(new_list) - 1])


from fractions import Fraction
import sys
import bisect
import heapq
from math import *
from collections import Counter as counter
from itertools import combinations as comb
from itertools import permutations as permutate
from bisect import bisect_left as bl
from bisect import bisect_right as br
from bisect import bisect
mod = 1000000007

def inp():
	return sys.stdin.readline().strip()

def out(var):
	sys.stdout.write(str(var))

def lis():
	return list(map(int, inp().split()))

def stringlis():
	return list(map(str, inp().split()))

def sep():
	return map(int, inp().split())

def strsep():
	return map(str, inp().split())

def graph(vertex):
	return [[] for i in range(0, vertex + 1)]

def zerolist(n):
	return [0] * n

def nextline():
	out('\n')

def testcase(t):
	for p in range(t):
		solve()

def printlist(a):
	for p in range(0, len(a)):
		out(str(a[p]) + ' ')

def lcm(a, b):
	return a * b // gcd(a, b)

def power(a, b):
	ans = 1
	while b > 0:
		if b % 2 == 1:
			ans *= a
		a *= a
		b //= 2
	return ans

def createMatrix(rowCount, colCount, dataList):
	mat = []
	for i in range(rowCount):
		rowList = []
		for j in range(colCount):
			if dataList[j] not in mat:
				rowList.append(dataList[j])
		mat.append(rowList)
	return mat

def isprime(n):
	if n <= 1:
		return False
	if n <= 3:
		return True
	if n % 2 == 0 or n % 3 == 0:
		return False
	i = 5
	while i * i <= n:
		if n % i == 0 or n % (i + 2) == 0:
			return False
		i = i + 6
	return True
import collections

def minimalFilps1(bits):
	n = len(bits)
	flipsFromLeft = [0 for i in range(n)]
	flipsFromRight = [0 for i in range(n)]
	flips = 0
	for i in range(0, n, 1):
		if bits[i] == '1':
			flips = flips + 1
		flipsFromLeft[i] = flips
	flips = 0
	i = n - 1
	while i >= 0:
		if bits[i] == '0':
			flips = flips + 1
		i = i - 1
		flipsFromRight[i] = flips
	minFlips1 = sys.maxsize
	for i in range(1, n, 1):
		if flipsFromLeft[i - 1] + flipsFromRight[i] < minFlips1:
			minFlips1 = flipsFromLeft[i - 1] + flipsFromRight[i]
	return minFlips1

def minimalFilps(bits):
	n = len(bits)
	flipsFromLeft = [0 for i in range(n)]
	flipsFromRight = [0 for i in range(n)]
	flips = 0
	for i in range(0, n, 1):
		if bits[i] == '0':
			flips = flips + 1
		flipsFromLeft[i] = flips
	flips = 0
	i = n - 1
	while i >= 0:
		if bits[i] == '1':
			flips = flips + 1
		i = i - 1
		flipsFromRight[i] = flips
	minFlips = sys.maxsize
	for i in range(1, n, 1):
		if flipsFromLeft[i - 1] + flipsFromRight[i] < minFlips:
			minFlips = flipsFromLeft[i - 1] + flipsFromRight[i]
	return minFlips

def oddn(n):
	for i in range(2, n + 1):
		if i % 2 != 0 and n % i == 0:
			return i
	return 3
s = input()
a = list(s)
b = []
c = []
for i in range(len(a)):
	if a[i] == '+':
		b.append(a[i])
	else:
		c.append(a[i])
c.sort()
d = []
if len(b) == 0:
	print(*c)
else:
	for i in range(len(a)):
		if i % 2 == 0:
			d.append(c[i // 2])
		else:
			d.append(b[i // 2])
	d = ''.join(map(str, d))
	print(d)


ar = list(map(int, input().split('+')))
ar.sort()
l = len(ar)
for i in range(0, l):
	print(ar[i], end='')
	if i != l - 1:
		print('+', end='')


num = input().split('+')
s_num = sorted(num)
for i in range(0, len(s_num) - 1):
	print(s_num[i] + '+', end='')
print(s_num[-1])


seq = input()
lst = seq.split('+')
lst = sorted(lst)
print('+'.join(lst))


operacion = input()
numeros = []
numeros = operacion.split('+')
numeros.sort()
solucion = ''
for n in numeros:
	solucion = solucion + n + '+'
t = len(solucion)
print(solucion[:t - 1])


arr = [int(n) for n in input().split('+')]
ans = [0 for n in range(0, len(arr))]
if len(arr) == 0:
	print()
if len(arr) == 1:
	print(arr[0])
else:
	j = 0
	for i in range(len(arr)):
		if arr[i] == 1:
			ans[j] = arr[i]
			j += 1
	for i in range(len(arr)):
		if arr[i] == 2:
			ans[j] = arr[i]
			j += 1
	for i in range(len(arr)):
		if arr[i] == 3:
			ans[j] = arr[i]
			j += 1
	ans_str = ''
	for i in range(len(arr) - 1):
		ans_str += str(ans[i]) + '+'
	ans_str += str(ans[len(ans) - 1])
	print(ans_str)


n = input()
a = list(n.split('+'))
a.sort()
l = len(a)
for i in range(0, l):
	print(a[i], end='')
	if i is l - 1:
		break
	else:
		print('+', end='')


cnt1 = 0
cnt2 = 0
cnt3 = 0
s = input()
for i in range(0, len(s)):
	if s[i] == '+':
		continue
	if s[i] == '1':
		cnt1 += 1
	elif s[i] == '2':
		cnt2 += 1
	else:
		cnt3 += 1
s = ''
for i in range(0, cnt1):
	s += '+1'
for i in range(0, cnt2):
	s += '+2'
for i in range(0, cnt3):
	s += '+3'
print(s[1:])


from sys import stdin, stdout

def main():
	inp = input().split('+')
	inp.sort()
	print('+'.join(inp))
main()


x = input()
ls = x.split('+')
ls = sorted(ls)
for i in range(0, len(ls) - 1):
	print(ls[i] + '+', end='')
print(ls[-1])


string = str(input())
data = string.split('+')
a1 = 0
a2 = 0
a3 = 0
for temp in data:
	if int(temp) == 1:
		a1 = a1 + 1
		pass
	if int(temp) == 2:
		a2 = a2 + 1
		pass
	if int(temp) == 3:
		a3 = a3 + 1
		pass
new_string = ''
new_string1 = ''
new_string2 = ''
final_string = ''
for number in range(a1):
	new_string = new_string + '1+'
for number in range(a2):
	new_string1 = new_string1 + '2+'
for number in range(a3):
	new_string2 = new_string2 + '3+'
final_string = final_string + new_string + new_string1 + new_string2
print(final_string[0:len(final_string) - 1])


n = input().split('+')
n.sort()
a = n[0]
for k in range(len(n) - 1):
	a += '+%s' % n[k + 1]
print(a)


a = input().split('+')
liste = []
for i in a:
	liste.append(i)
liste.sort()
ausgabe = '+'.join(liste)
print(ausgabe)


s = str(input())
a = []
if 1 <= len(s) <= 100:
	a = s.split('+')
	a = [int(i) for i in a]
	a.sort(reverse=False)
b = '+'.join((str(i) for i in a))
print(b)


a = input()
Num1 = a.count('1')
Num2 = a.count('2')
Num3 = a.count('3')
s = '1+' * Num1 + Num2 * '2+' + Num3 * '3+'
s = s[:len(s) - 1]
print(s)


x = str(input())
for i in x:
	if i == '+':
		x = x.replace(i, '')
s = list(x)
s.sort()
m = []
for i in s:
	m.append(i)
	m.append('+')
m.pop()
z = ''
for i in m:
	z = z + i
print(z)


import sys
s = input().split('+')
s.sort()
sys.stdout.write(s[0])
for i in range(len(s)):
	if i == 0:
		continue
	sys.stdout.write('+')
	sys.stdout.write(s[i])


l = list(map(int, input().split('+')))
l.sort()
print('+'.join(map(str, l)))


x = input().split('+')
a = list(map(str, x))
a.sort()
for x in range(len(a)):
	if x < len(a) - 1:
		a[x] = a[x] + '+'
a = ''.join(map(str, a))
print(a)


s = input()
sum = [0, 0, 0]
for i in range(0, len(s), 2):
	if s[i] == '1':
		sum[0] += 1
	if s[i] == '2':
		sum[1] += 1
	if s[i] == '3':
		sum[2] += 1
otv = '1+' * sum[0] + '2+' * sum[1] + '3+' * sum[2]
print(otv[:-1])


n = input()
stri = ''
arr = []
for i in n:
	if i == '1' or i == '2' or i == '3':
		arr.append(i)
arr = sorted(arr)
for i in arr:
	stri += i + '+'
print(stri[:-1])


data = input()
cnt = []
for i in range(1, 4):
	cnt.append(data.count(chr(ord('0') + i)))
for i in range(3):
	print('+'.join(cnt[i] * chr(ord('1') + i)), end='')
	if cnt[i] > 0 and (i == 0 and cnt[1] + cnt[2] > 0 or (i == 1 and cnt[2] > 0)):
		print('+', end='')


t = list(input().split('+'))
t.sort()
print('+'.join(t))


l = input().split('+')
k = sorted(l)
s = ''
for i in k:
	s = s + str(i) + '+'
print(s[0:-1])


op = '+'
new = []
num = list(map(str, input().split(op)))
for i in num:
	new.append(i)
new.sort()
print(new[0], end='')
for n in range(1, len(new)):
	print('+' + str(new[n]), end='')


def sol(s):
	return '+'.join(sorted(s.split('+')))
s = input()
print(sol(s))


plus = input().split('+')
plus.sort()
print('+'.join(plus))


def mysort(a):
	n = len(a)
	for pos in range(0, n - 1):
		for i in range(pos + 1, n):
			if a[i] < a[pos]:
				(a[pos], a[i]) = (a[i], a[pos])
a = [int(x) for x in input().split('+')]
mysort(a)
print(*a, sep='+')


input_sum = input()
input_sum_number = [int(number) for number in input_sum.split('+')]
input_sum_number.sort()
output_sum = ''
for number in input_sum_number[:-1]:
	output_sum += str(number) + '+'
output_sum += str(input_sum_number[len(input_sum_number) - 1])
print(output_sum)


s = input()
r = []
for i in s:
	if i != '+':
		r.append(i)
r.sort()
t = ''
for i in range(len(r) - 1):
	t += r[i] + '+'
t = t + r[len(r) - 1]
print(t)


(a, b, c) = map(input().count, ['1', '2', '3'])
ans = ''
if b > 0 or c > 0:
	ans += '1+' * a
	if c > 0:
		ans += '2+' * b + '3+' * (c - 1) + '3'
	else:
		ans += '2+' * (b - 1) + '2'
else:
	ans += '1+' * (a - 1) + '1'
print(ans)


operator = list(input().split('+'))
n = len(operator)
num = []
for ii in range(n):
	elem = int(operator[ii])
	num.append(elem)
num.sort()
n1 = []
for ii in range(n):
	ele = str(num[ii])
	n1.append(ele)
output = '+'.join(n1)
print(output)


ulaz = input()
brojevi = '+'.join(list(map(str, sorted(list(map(int, ulaz.split('+')))))))
print(brojevi)


inp1 = input()
l = []
l1 = []
for i in range(0, len(inp1), 2):
	l.append(inp1[i])
l1 = list(map(int, l))
l1.sort()
s = ''
for j in range(len(l1)):
	if j == 0:
		s = s + str(l1[j])
	else:
		s = s + '+'
		s = s + str(l1[j])
print(s)


n = input()
p = []
for i in range(len(n)):
	if i % 2 == 0:
		p.append(n[i])
p.sort()
c = []
for i in range(len(p)):
	c.append(p[i])
	if i != len(p) - 1:
		c.append('+')
print(''.join([str(i) for i in c]))


array = list(map(int, input().split('+')))
array.sort()
result = ''
for number in array:
	result = result + '+' + str(number)
result = result[1:]
print(result)


L = list(map(int, input().split('+')))
L.sort()
print('+'.join(list(map(str, L))))


s = input()
st = []
st.extend(['1'] * s.count('1'))
st.extend(['2'] * s.count('2'))
st.extend(['3'] * s.count('3'))
print('+'.join(st))


input_string = input()
integer_list = input_string.split('+')
integer_list = [int(x) for x in integer_list]
integer_list.sort()
integer_list = [str(x) for x in integer_list]
print('+'.join(integer_list))


sum = list(map(int, input().split('+')))
sum.sort()
name = ''
y = 0
for x in sum:
	y = y + 1
	if y == len(sum):
		name = name + str(x)
	else:
		name = name + str(x) + '+'
print(name)


import sys
f = sys.stdin
a = [int(i) for i in f.readline().split('+')]
a.sort()
for i in range(len(a) - 1):
	print(a[i], end='+')
print(a[-1])


s = input()
li = [0] * 3
for i in range(len(s)):
	if s[i] == '1':
		li[0] += 1
	elif s[i] == '2':
		li[1] += 1
	elif s[i] == '3':
		li[2] += 1
t = ''
for i in range(3):
	while li[i] > 0:
		t += str(i + 1)
		li[i] -= 1
		t += '+'
print(t[:-1])


lis = ''
for x in sorted(input().split('+')):
	lis += x + '+'
print(lis.strip('+'))


x = input()
res = []
for i in x:
	if i == '+':
		continue
	if int(i) < 4:
		res.append(int(i))
res = sorted(res)
p = ''
for i in res:
	p = p + '{}+'.format(i)
p = p[:-1]
print(p)


s = input()
l1 = []
l2 = []
if len(s) == 1:
	print(s)
else:
	for i in range(len(s)):
		if s[i] == '+':
			l2.append(s[i])
		else:
			l1.append(int(s[i]))
	l1.sort()
	for i in range(len(l1)):
		print(l1[i], end='')
		if i < len(l2):
			print(l2[i], end='')


s = input()
c1 = 0
c2 = 0
c3 = 0
for i in range(0, len(s)):
	if s[i] == '1':
		c1 += 1
	if s[i] == '2':
		c2 += 1
	if s[i] == '3':
		c3 += 1
k = c1 + c2 + c3
while c1 > 0:
	if c1 == 1 and (c2 == 0 and c3 == 0):
		print('1', end='')
	else:
		print('1+', end='')
	c1 = c1 - 1
while c2 > 0:
	if c2 == 1 and c3 == 0:
		print('2', end='')
	else:
		print('2+', end='')
	c2 = c2 - 1
while c3 > 0:
	if c3 == 1:
		print('3', end='')
	else:
		print('3+', end='')
	c3 = c3 - 1


numbers = list(map(int, input().split('+')))
numbers.sort()
output = ''
for number in numbers:
	output = output + str(number) + '+'
print(output[:len(output) - 1])


x = input('')
x = x.split('+')
li = list()
for i in x:
	i = int(i)
	li.append(i)
li.sort()
tot = ''
for i in li:
	i = str(i)
	if tot == '':
		tot = i
		continue
	tot = tot + '+' + i
print(tot)


def mod():
	x = input()
	z = sorted(x)
	n = []
	for i in z:
		if i == '+':
			continue
		else:
			n.append(i)
	v = '+'.join(n)
	print(v)
mod()


s = input()
list = []
for i in range(len(s)):
	if s[i].isdigit():
		list.append(int(s[i]))
list.sort()
for j in range(len(list) - 1):
	print(list[j], end='+')
print(list[len(list) - 1])


in1 = input()
p = list(in1)
arr = []
l = in1.split('+')
c = len(l)
for i in range(c - 1):
	min1 = min(l)
	arr.append(min1)
	arr.append('+')
	l.remove(min1)
arr.append(l[-1])
for i in arr:
	print(i, end='')


print(''.join([x + '+' for x in sorted(input()[::-2])])[:-1])


a = input().split('+')
a.sort()
b = '+'.join(a)
print(b)


num = input()
first = 0
second = 0
third = 0
for i in range(0, len(num)):
	if num[i] == '1':
		first += 1
	elif num[i] == '2':
		second += 1
	elif num[i] == '3':
		third += 1
x = '1+' * first + '2+' * second + '3+' * third
print(x[:-1])


st = input()
l = st.split('+')
l.sort()
for i in range(len(l) - 1):
	print(l[i] + '+', end='')
print(l[-1])


s = input('')
one = 0
two = 0
three = 0
ans = ''
lst = []
for i in s:
	if i == '1':
		one = one + 1
	if i == '2':
		two = two + 1
	if i == '3':
		three = three + 1
for a in range(one):
	ans = ans + '+' + '1'
for b in range(two):
	ans = ans + '+' + '2'
for c in range(three):
	ans = ans + '+' + '3'
answer = ans[1:]
print(answer)


def reArrange(string: str) -> str:
	initialLength = len(string)
	if len(string) <= 1:
		return string
	arr = [0] * 3
	for char in string:
		if char != '+':
			arr[int(char) - 1] += 1
	for i in range(len(arr)):
		count = arr[i]
		while count > 0:
			string += str(i + 1) + '+'
			count -= 1
	return string[initialLength:len(string) - 1]

def main():
	string = input().strip()
	print(reArrange(string))
main()


from collections import defaultdict
nums = defaultdict(int)
for c in input():
	if c != '+':
		nums[c] += 1
s = ''
s += '1+' * nums['1']
s += '2+' * nums['2']
s += '3+' * nums['3']
print(s[:-1])


calc = input('')
numbers = []
for i in range(0, len(calc)):
	if calc[i] != '+':
		numbers.append(calc[i])
numbers.sort()
ordered = numbers[0]
if len(numbers) > 1:
	for i in range(1, len(numbers)):
		ordered = ordered + '+' + numbers[i]
print(ordered)


s = list(map(int, input().rstrip().split('+')))
s.sort()
ss = ''
for i in range(len(s) - 1):
	ss += str(s[i]) + '+'
ss += str(s[-1])
print(ss)


numbers = [int(i) for i in input().split('+')]
numbers.sort()
for index in range(len(numbers)):
	if index != len(numbers) - 1:
		print(str(numbers[index]) + '+', end='')
	else:
		print(str(numbers[index]))


s = sorted(input())
d = []
for i in s:
	if i.isdigit():
		d.append(i)
for i in range(0, len(d)):
	if i != 0:
		print('+', end='')
	print(d[i], end='')


A = input()
ans = []
for i in range(len(A)):
	if A[i] == '1' or A[i] == '2' or A[i] == '3':
		ans.append(A[i])
ans.sort()
flag = 0
j = 0
res = []
for i in range(len(A)):
	if flag == 1:
		res.append('+')
		flag = 0
	else:
		flag = 1
		res.append(ans[j])
		j += 1
print(*res, sep='')


s = input()
x = s.count('1')
y = s.count('2')
z = s.count('3')
ans = ''
for i in range(x):
	ans = ans + '1+'
for i in range(y):
	ans = ans + '2+'
for i in range(z):
	ans = ans + '3+'
print(ans[:-1])


def main():
	nums = [int(item) for item in input().split('+')]
	nums.sort()
	s = ''
	for i in range(0, len(nums)):
		s += str(nums[i]) + '+'
	print(s[:-1])
main()


a = list((int(x) for x in input().split('+')))
l = len(a) - 1
if l == 0:
	print(a[0])
	exit()
a.sort()
for i in range(l):
	print(a[i], end='+')
print(a[i + 1])


aux = ''
a = input()
for i in range(0, len(a), 2):
	aux = aux + a[i]
var = sorted(aux)
ppp = ''
for i in range(0, len(var)):
	ppp = ppp + var[i] + '+'
res = ''
for i in range(0, len(ppp) - 1):
	res = res + ppp[i]
print(res)


x = input()
n = []
for i in range(0, len(x), 2):
	n.append(x[i])
n.sort()
z = ''
for i in range(len(n)):
	if i != len(n) - 1:
		z += n[i] + '+'
	else:
		z += n[i]
print(z)


cal = list(map(int, input().replace('+', ' ').split(' ')))
if len(cal) > 1:
	print('+'.join([str(elem) for elem in sorted(cal)]))
else:
	print(str(cal[0]))


board = input()
board = board.split('+')
board.sort()
print('+'.join(board))


str1 = [int(x) for x in input().split('+')]
str1.sort()
s = [str(i) for i in str1]
print('+'.join(s))


a = input()
b = a.split('+')
b.sort()
for i in b[:-1]:
	print(i + '+', end='')
print(b[-1])


s = str(input())
lst = s.split('+')
lst.sort()
print('+'.join(lst))


x = input()
if len(x) == 1:
	print(x)
else:
	y = x.split('+')
	y.sort()
	z = '+'.join(y)
	print(z)


n = list(input())
lst = []
for i in n:
	if i != '+':
		lst.append(i)
lst.sort()
for i in range(len(lst) - 1):
	print('%c+' % lst[i], end='')
print(lst[-1], end='')


r = input().split('+')
if len(str(r)) == 1:
	print(int(r))
else:
	for i in range(len(r)):
		r[i] = int(r[i])
	r.sort()
	for j in range(len(r)):
		r[j] = str(r[j])
	print('+'.join(r))


a = input()
numbers = a.split('+')
numbers.sort()
print(*numbers, sep='+')


s = input()
list = []
len = 0
for i in s:
	list.append(i)
	len += 1
list.sort()
p = 0
for j in list:
	p += 1
	if j != '+' and p < len:
		if j >= '1' or j <= '9':
			print(j, end='+')
	if p == len:
		print(j)


s = input().split('+')
s = [int(i) for i in s]
s.sort()
t = str(s[0])
for r in range(1, len(s)):
	t = t + '+' + str(s[r])
print(t)


s = input()
s = s.split('+')
s.sort()
str1 = '+'.join(s)
print(str1)


x = str(input())
n = len(x)
a = ''
e = 0
c = 0
d = 0
f = ''
g = ''
h = ''
for i in range(0, n, 2):
	b = int(x[i])
	if b == 1:
		e = e + 1
	if b == 2:
		c = c + 1
	if b == 3:
		d = d + 1
for i in range(e):
	f = '1+' + f
a = f
for i in range(c):
	g = '2+' + g
a = a + g
for i in range(d):
	h = '3+' + h
a = a + h
print(a[:-1])


raw = [int(x) for x in input().split('+')]
o = 0
t = 0
th = 0
for i in raw:
	if i == 1:
		o += 1
	elif i == 2:
		t += 1
	else:
		th += 1
char = '1+' * o + '2+' * t + '3+' * th
print(char[:len(char) - 1])


equation = input()
equation = equation.split('+')
equation = [int(i) for i in equation]
equation = sorted(equation)
equation = [str(i) for i in equation]
print('+'.join(equation))


n = input()
l = list(n)
l.sort()
for i in range(len(l)):
	if l[i] != '+' and i != len(l) - 1:
		print(l[i], end='+')
	elif i == len(l) - 1:
		print(l[i])


def increasing_sum(string):
	nums = str1.split('+')
	nums.sort()
	f_str = '+'.join(nums)
	print(f_str)
str1 = input()
increasing_sum(str1)


n = input().split('+')
n.sort()
s = []
for i in n:
	s.append(i)
	s.append('+')
s.pop()
a = ''
for i in s:
	a += i
print(a)


s = str(input())
l = len(s)
list1 = []
for i in range(l):
	if s[i] not in ['+']:
		list1.append(s[i])
print('+'.join(sorted(list1)))


lst1 = list(input().split('+'))
lst1.sort()
str1 = '+'.join(lst1)
print(str1)


def take_input(string):
	new_list = []
	for entry in string:
		if entry != '+':
			new_list.append(entry)
	new_list.sort()
	return '+'.join(new_list)
print(take_input(input()))


n = input()
a = []
l = 0
for i in n:
	if i.isdigit():
		a.append(i)
		l += 1
a.sort()
for i in a:
	print(i, end='')
	l -= 1
	if l > 0:
		print('+', end='')


sum = input()
c1 = 0
c2 = 0
c3 = 0
for i in range(0, len(sum), 2):
	if sum[i] == '1':
		c1 += 1
	elif sum[i] == '2':
		c2 += 1
	else:
		c3 += 1
newsum = '1+' * c1 + '2+' * c2 + '3+' * c3
print(newsum[:-1])


math = list(map(int, input().split('+')))
print('+'.join(map(str, sorted(math))))


s = input().split('+')
for i in range(0, len(s)):
	s[i] = int(s[i])
s.sort()
for i in range(0, len(s)):
	s[i] = str(s[i])
news = ''
for i in range(0, len(s)):
	news = news + s[i]
	if i != len(s) - 1:
		news = news + '+'
print(news)


s = input()
(k1, k2, k3) = (s.count('1'), s.count('2'), s.count('3'))
a = ''
for i in range(k1):
	a += '1' + '+'
for i in range(k2):
	a += '2' + '+'
for i in range(k3):
	a += '3' + '+'
print(a[:len(a) - 1])


arr = list(map(int, input().strip().split('+')))
arr.sort()
nwarr = []
for i in range(len(arr)):
	nwarr.append(str(arr[i]))
print('+'.join(nwarr))


l = input().split('+')
l.sort()
print('+'.join(map(str, l)))


str = input()
c = len(str)
lst = []
for i in range(0, c):
	if i % 2 == 0:
		lst.append(str[i])
lst.sort()
str1 = ''
for i in lst:
	str1 = str1 + i
	if len(str1) != c:
		str1 = str1 + '+'
print(str1)


sum = list(input())
n_1 = sum.count('1')
n_2 = sum.count('2')
n_3 = sum.count('3')
toplam = []
j = 1
k = 1
l = 1
while j <= n_1:
	toplam.append('1')
	j += 1
while k <= n_2:
	toplam.append('2')
	k += 1
while l <= n_3:
	toplam.append('3')
	l += 1
toplam_2 = tuple(toplam)
print('+'.join(toplam_2))


P = []
P = list(map(int, input().split('+')))
P.sort()
s = ''
for i in range(len(P)):
	s += str(P[i])
	if i != len(P) - 1:
		s += '+'
print(s)


s = input()
l = s.split('+')
l.sort()
res = '+'.join(l)
print(res)


a = input()
l = []
s = ''
j = '+'
l1 = []
for i in range(len(a)):
	if i % 2 != 1:
		l.append(a[i])
l.sort()
for i in l:
	l1.append(i + '+')
for i in range(len(l1)):
	s = s + l1[i]
print(s[:-1])


x = sorted(list(map(int, input().split('+'))))
y = ''
for i in x:
	y += str(i)
	y += '+'
print(y[:-1])


inp = list(input())
length = len(inp)
ans = ''
n = int((length - 1) / 2)
for i in range(n):
	inp.remove('+')
inp.sort()
for i in range(n + 1):
	ans = ans + inp[i] + '+'
ans = ans[0:-1]
print(ans)


a = list(input())
a.sort()
e = ''
while '+' in a:
	a.remove('+')
for i in range(len(a)):
	a[i] = a[i] + '+'
	e = e + a[i]
print(e[0:len(e) - 1])


string = str(input()).split('+')
list = []
newStatement = ''
if len(string) > 1:
	for num in string:
		list.append(int(num))
	list_ = sorted(list)
	for num in list_:
		newStatement += str(num)
		newStatement += '+'
	index = len(newStatement) - 1
	print(newStatement[0:index])
else:
	for num in string:
		newStatement += str(num)
	print(newStatement)


Sa = str(input())
Sa = sorted(Sa)
a = ''
a += Sa[int(len(Sa) / 2)]
for i in range(int(len(Sa) / 2) + 1, len(Sa)):
	a += '+'
	a += Sa[i]
print(a)


n = input()
l = len(n)
k = []
s = ''
for i in range(0, l):
	if i % 2 == 0:
		m = int(n[i])
		k.append(m)
k.sort()
for j in range(0, len(k)):
	if j != len(k) - 1:
		print(k[j], end='')
		print('+', end='')
	else:
		print(k[j], end='')


string = input()
nums = []
for i in string:
	if i != '+':
		nums.append(int(i))
nums.sort()
string = ''
for i in nums:
	string += str(i) + '+'
for i in range(len(string) - 1):
	print(string[i], end='')


lst = [i for i in input().split('+')]
lst.sort()
print('+'.join(lst))


s = input()
if len(s) == 1:
	print(s)
else:
	s = s.split('+')
	s = list(s)
	s.sort()
	print('+'.join(s))


inp = input()
lst = inp.split('+')
ans = ''
lst = sorted(lst, reverse=False)
for num in lst[:-1]:
	ans += num + '+'
ans += lst[-1]
print(ans)


s = input()
a = [x for x in s if x.isnumeric()]
a.sort()
print('+'.join(a))


string = [int(i) for i in input().split('+')]
string.sort()
if len(string) != 1:
	msg = str(string[0]) + '+'
	for i in string[1:-1]:
		msg += str(i) + '+'
	print(msg + str(string[-1]))
else:
	print(string[0])


math = str(input())
math = math.split('+')
new = sorted(math)
new = '+'.join(new)
print(new)


a = list(map(int, input().rstrip().split('+')))
a.sort()
for _ in range(len(a) - 1):
	print(a[_], end='+')
print(a[len(a) - 1])


word = input()
word2 = list(word)
for i in word:
	if i == '+':
		word2.remove('+')
word2.sort()
print('+'.join(word2))


s = input()
list1 = s.split('+')
list1.sort()
s = '+'.join(list1)
print(s)


s = input()
j = 0
str1 = ''
list1 = s.split('+')
list1.sort()
for i in list1:
	j = j + 1
	if j == 1:
		str1 = i
	else:
		str1 = str1 + '+' + i
print(str1)


s = [int(i) for i in input() if i != '+']
s.sort()
print('+'.join([str(i) for i in s]))


s = input()
length = len(s)
a = [0, 0, 0, 0]
for i in range(0, length, 2):
	a[int(s[i])] += 1
first = 1
for i in range(1, 4):
	if a[i]:
		if first != 1:
			print('+', end='')
		print(i, end='')
		first = 0
	a[i] -= 1
	while a[i] > 0:
		print('+%d' % i, end='')
		a[i] -= 1


l = list(map(int, input().split('+')))
l.sort()
for i in range(len(l)):
	if i != 0:
		print('+', end='')
	print(str(l[i]), end='')


numbers = [int(x) for x in input().split('+')]
numbers.sort()
s = ''
for number in numbers:
	s = s + str(number) + '+'
print(s[:-1])


s = list(map(int, input().split('+')))
s.sort()
for i in range(0, len(s) - 1):
	print('%d+' % s[i], end='')
print(s[len(s) - 1])


mas = sorted(list(map(int, input().split('+'))))
if len(mas) != 1:
	for i in range(len(mas) - 1):
		print(mas[i], end='+')
	print(mas[-1])
else:
	print(mas[0])


from sys import stdin, stdout
s = input().split('+')
s.sort()
print('+'.join(s))


s = str(input())
arr = []
for i in range(len(s)):
	if s[i].isnumeric():
		arr.append(int(s[i]))
arr.sort()
i = 0
for i in range(len(arr) - 1):
	print(str(arr[i]) + '+', end='')
print(str(arr[len(arr) - 1]))


str1 = input()
n = str1.split('+')
str2 = ''
n.sort()
print('+'.join(n))


def printarr(arr):
	for i in range(len(arr)):
		print(arr[i], end='')
	print()
x = input().split('+')
x.sort()
for k in range(len(x) - 1):
	print(x[k], end='+')
print(x[-1])


s = input('')
lista = []
for i in s:
	if i == '+':
		continue
	else:
		lista.append(i)
n = len(lista)
for i in range(n):
	for j in range(n - i - 1):
		if lista[j] > lista[j + 1]:
			(lista[j], lista[j + 1]) = (lista[j + 1], lista[j])
s = ''
for i in lista:
	s += i + '+'
s = s[:-1]
print(s)


def qsort(inlist):
	if inlist == []:
		return []
	else:
		pivot = inlist[0]
		lesser = qsort([x for x in inlist[1:] if x < pivot])
		greater = qsort([x for x in inlist[1:] if x >= pivot])
		return lesser + [pivot] + greater
arr = [int(x) for x in input().split('+')]
arr = qsort(arr)
brr = ''
for i in range(len(arr)):
	brr += str(arr[i])
	if i != len(arr) - 1:
		brr += '+'
print(brr)


a = input()
b = []
c = ['+']
for i in a:
	if i not in c:
		b.append(i)
		b.sort()
print('+'.join(b))


s = str(input(''))
l = list(s)
if '+' in l:
	for i in range(len(l) // 2):
		l.remove('+')
		l.sort()
		op = '+'.join(l)
	print(op)
else:
	print(s)
exit()


s = input()
l = list(s)
while '+' in l:
	l.remove('+')
l.sort()
x = '+'.join(l)
print(x)


n = input()
x = n.split('+')
a = []
b = []
for i in x:
	a.append(int(i))
a.sort()
for i in a:
	b.append(str(i))
	b.append('+')
for i in range(len(b) - 1):
	print(b[i], end='')


inputnum = list(input().split('+'))
inputnum.sort()
print('+'.join(inputnum))


xs = input().split('+')
xs.sort()
out = xs[0]
for i in range(1, len(xs)):
	out += '+'
	out += xs[i]
print(out)


a = input('').split('+')
a.sort()
t = ''
for g in range(0, len(a) - 1):
	t = t + a[g]
	t = t + '+'
t = t + a[len(a) - 1]
print(t)


def insertionSort(a):
	n = len(a)
	for i in range(1, n):
		cur = a[i]
		j = i
		while j > 0 and a[j - 1] > cur:
			a[j] = a[j - 1]
			j = j - 1
		a[j] = cur
	return a
s = input()
a = s.split('+')
insertionSort(a)
for i in range(len(a)):
	if i < len(a) - 1:
		print(a[i], end='+')
	else:
		print(a[i])


import time

class Profiler(object):

	def __enter__(self):
		self._startTime = time.time()

	def __exit__(self, type, value, traceback):
		print('Elapsed time: {:.3f} sec'.format(time.time() - self._startTime))
s = input()
m = list(filter(len, s.split('+')))
m = sorted(m)
print('+'.join(m))


t = input().split('+')
print('+'.join(sorted(t)))


numbers = []
arr = input()
arr_len = len(arr)
if arr_len < 2:
	print(arr)
else:
	for i in range(0, arr_len, 2):
		numbers.append(arr[i])
		b = sorted(numbers)
	length = len(b)
	for i in range(0, length, 1):
		if i < length - 1:
			print(b[i] + '+', end='')
		elif i < length:
			print(b[i], end='\n')


st = input()
d = []
for i in st:
	if i.isdigit():
		d.append(i)
d.sort()
print(*d, sep='+')


s = input()
s = s.split('+')
a = []
for i in s:
	i = int(i)
	a.append(i)
a = sorted(a)
answer = ''
for i in a:
	answer = answer + str(i) + '+'
print(answer[:-1])


s = list(map(int, input().split('+')))
s = sorted(s)
l = ''
for i in s:
	l += str(i) + '+'
print(l[:-1])


s = input()
lst = []
for i in s:
	if i.isdigit() == True:
		lst.append(i)
lst.sort()
for i in range(len(lst) - 1):
	print(lst[i], '+', sep='', end='')
print(lst[-1])


l = list(input().split('+'))
l.sort()
if len(l) > 0:
	print('+'.join(l))
else:
	print(l[0])


sum = input('')
sumFixed = list(sum)
for i in sumFixed:
	if i == '+':
		sumFixed.remove(i)
sumFixed = sorted(sumFixed)
out = ''
for i in range(0, len(sumFixed), 1):
	if i == len(sumFixed) - 1:
		out += sumFixed[i]
	else:
		out += sumFixed[i] + '+'
print(out)


S = input().split('+')
S.sort()
S = '+'.join(S)
print(S)


w = list(input().split('+'))
w.sort()
print('+'.join(w))


def intersperse(lst, item):
	result = [item] * (len(lst) * 2 - 1)
	result[0::2] = lst
	return result

def correctsum(s):
	stack = []
	for i in range(len(s)):
		if s[i] != '+':
			stack.append(s[i])
	stack.sort()
	result = intersperse(stack, '+')
	return result

def list_to_string(s):
	str1 = ''
	for ele in s:
		str1 += ele
	return str1

def main():
	s = input()
	p = correctsum(s)
	print(list_to_string(p))
main()


import sys
import math

def maths():
	data = input().split('+')
	data = [int(i) for i in data]
	data.sort()
	for i in range(len(data)):
		if i != len(data) - 1:
			print(str(data[i]) + '+', end='')
		else:
			print(str(data[i]), end='')
maths()


s = input().split('+')
s1 = ''
for i in s:
	s1 = s1 + i
s1 = sorted(s1)
print('+'.join(s1))


s = input()
a = []
for x in s:
	if x.isnumeric() == True:
		a.append(int(x))
a.sort()
for x in range(0, len(a)):
	if x != len(a) - 1:
		print(f'{a[x]}+', end='')
	else:
		print(f'{a[x]}', end='')


number_input = input()
splitted_numbers = number_input.split('+')
int_splitted_number = list(map(int, splitted_numbers))
int_splitted_number.sort()
original_number = '+'.join((str(ele) for ele in int_splitted_number))
print(original_number)


string = input()
lis = []
for i in range(len(string)):
	if string[i].isnumeric():
		lis.append(int(string[i]))
lis.sort()
res = ''
for i in range(len(lis)):
	if i != len(lis) - 1:
		res = res + str(lis[i]) + '+'
	if i == len(lis) - 1:
		res = res + str(lis[i])
print(res)


a = list(input())
for i in range(0, len(a), 2):
	for j in range(0, len(a), 2):
		if a[i] < a[j]:
			temp = a[i]
			a[i] = a[j]
			a[j] = temp
print(''.join(a))


s = sorted(input().split('+'))
s = str(s)
t = str.maketrans({' ': None, '[': None, ']': None, "'": None, ',': '+'})
print(s.translate(t))


n = sorted(input()[::2])
print('+'.join(n))


s = input()
nums = s.split('+')
ans = ''
ones = 0
twos = 0
threes = 0
for i in nums:
	if i == '1':
		ones += 1
	if i == '2':
		twos += 1
	if i == '3':
		threes += 1
for i in range(ones):
	ans += '1+'
for i in range(twos):
	ans += '2+'
for i in range(threes):
	ans += '3+'
ans = ans[:len(ans) - 1]
print(ans)


s = input()
l = s.split('+')
l.sort()
e = '+'.join(l)
print(e)


a = []
tmp = ''
expression = input()
for i in expression:
	if i.isnumeric():
		a.append(int(i))
a.sort()
for i in a:
	tmp += str(i) + '+'
tmp = tmp[0:-1]
print(tmp)


nums = list(input().split('+'))
nums.sort()
for i in range(len(nums)):
	print(nums[i], end='')
	if i != len(nums) - 1:
		print('+', end='')
print()


s = input()
s = s.replace('+', '')
s = list(s)
s = sorted(s)
for i in range(len(s) - 1):
	s[i] = s[i] + '+'
for i in range(len(s)):
	print(s[i], end='')


from collections import Counter
s = input()
c = Counter(s)
sn = '1+' * c['1'] + '2+' * c['2'] + '3+' * c['3']
if sn[-1] == '+':
	sn = sn[:-1]
print(sn)


c = input()
num_list = c.split('+')
num_list.sort()
for i in range(len(num_list)):
	if i != len(num_list) - 1:
		print(str(num_list[i]) + '+', end='')
	else:
		print(str(num_list[i]), end='\n')


print('+'.join(sorted([str(a) for a in input().strip().split('+')])))


math_lst = input().split('+')
math_lst.sort()
print('+'.join(math_lst))


a = input()
a = a.split('+')

def sort(array):
	less = []
	equal = []
	greater = []
	if len(array) > 1:
		pivot = array[0]
		for x in array:
			if x < pivot:
				less.append(x)
			if x == pivot:
				equal.append(x)
			if x > pivot:
				greater.append(x)
		return sort(less) + equal + sort(greater)
	else:
		return array
a = sort(a)
T = str(a[0])
if len(a) > 1:
	for x in range(1, len(a)):
		T = T + '+' + str(a[x])
print(T)


l = input().split('+')
l = [int(i) for i in l]
l.sort()
f = 0
for i in l:
	if f == 1:
		print('+', end='')
	print(i, end='')
	f = 1


n = input()
N = n.split('+')
N.sort()
M = '+'.join(N)
print(M)


sum_str = input().replace('+', '')
sum_str = sorted(sum_str)
output = sum_str[0]
for num in sum_str[1:]:
	output += '+' + num
print(output)


a = list(map(str, input().split('+')))
ans = '+'.join((i for i in sorted(a)))
print(ans)


s = input()
if s != None and len(s) <= 100:
	s = list(s)
	while s.count('+'):
		s.remove('+')
	s.sort()
	s = '+'.join(s)
	print(s)


n = input().strip().split('+')
n = sorted(n)
if len(n) == 1:
	print(''.join(n))
else:
	print('+'.join(n))


string = str(input())
i = 0
Num_1 = 0
Num_2 = 0
Num_3 = 0
while i < len(string):
	if string[i] == '1':
		Num_1 += 1
	elif string[i] == '2':
		Num_2 += 1
	else:
		Num_3 += 1
	i += 2
string = '1+' * Num_1 + '2+' * Num_2 + '3+' * Num_3
print(string[0:-1])


t = input()
l = []
p = []
if len(t) == 1:
	print(t)
else:
	for each in t:
		if each != '+':
			l.append(each)
	l.sort()
	k = len(l)
	for i in range(k):
		p.append(l[i])
		if i != k - 1:
			p.append('+')
	print(''.join(p))


arr = input().split('+')
for i in range(1, len(arr)):
	for j in range(len(arr) - i):
		if arr[j] > arr[j + 1]:
			tmp = arr[j]
			arr[j] = arr[j + 1]
			arr[j + 1] = tmp
print(arr[0], end='')
for i in range(1, len(arr)):
	print('+' + arr[i], end='')


n = input()
deret = []
for i in range(0, len(n), 2):
	deret += n[i]
deret.sort()
for i in range(len(deret)):
	if i == len(deret) - 1:
		print(deret[i])
	else:
		print(str(deret[i]) + '+', end='')


ls = sorted(list(map(str, input().split('+'))))
print('+'.join(ls))


summands = sorted(list(input().split('+')))
print('+'.join(summands))


dumb_person = [int(x) for x in input().split('+')]
new_dumb = sorted(dumb_person)
list = []
for j in new_dumb:
	list.append(str(j))
print('+'.join(list))


s = input()
sum1 = str.count(s, '1')
sum2 = str.count(s, '2')
sum3 = str.count(s, '3')
for i in range(sum1 - 1):
	print('1+', end='')
if sum2 == 0 and sum3 == 0 and (sum1 != 0):
	print('1', end='')
elif sum1 != 0:
	print('1+', end='')
for i in range(sum2 - 1):
	print('2+', end='')
if sum3 == 0 and sum2 != 0:
	print('2', end='')
elif sum2 != 0:
	print('2+', end='')
for i in range(sum3 - 1):
	print('3+', end='')
if sum3 != 0:
	print('3')


original = sorted(input().replace('+', ' ').split())
new = '+'.join(original)
print(new)


a = input()
l = a.split('+')
for i in l:
	i = int(i)
l.sort()
for i in range(len(l) - 1):
	print(str(l[i]) + '+', end='')
print(str(l[-1]))


s = input()
a = ''
b = ''
for i in range(len(s)):
	if s[i] != '+':
		a = a + s[i]
ls = []
for k in range(len(a)):
	ls.append(a[k])
ls.sort()
for j in range(len(ls)):
	b = b + ls[j]
print('+'.join(b))


s = input().rstrip()
n = len(s)
p = []
g = []
result = ''
for i in range(0, n, 2):
	p.append(int(s[i]))
p.sort()
for i in range(len(p) - 1):
	result += str(p[i]) + '+'
result += str(p[-1])
print(result)


s = input()
a = []
for i in s:
	if i != '+':
		a.append(i)
a.sort()
for i in range(len(a) - 1):
	print(str(a[i]) + '+', end='')
print(a[-1])


x = str(input())
y = x.split('+')
solution = []
i = 0
while y:
	mini = y[0]
	for i in y:
		if i < mini:
			mini = i
	solution.append(mini)
	y.remove(mini)
ans = ''
c = 0
while c < len(solution):
	if c == len(solution) - 1 or len(solution) == 1:
		ans = ans + solution[c]
	else:
		ans = ans + solution[c] + '+'
	c = c + 1
print(ans)


l = list(map(int, input().split('+')))
l.sort()
print(*l, sep='+')


string = input()
number_list = []
for i in range(0, len(string), 2):
	number_list.append(string[i])
number_list = sorted(number_list)
output = ''
for char in number_list:
	output += char + '+'
print(output[:len(output) - 1])


def main():
	x = input()
	x = list(x)
	n = len(x)
	for k in range(0, n):
		for i in range(0, n, 2):
			if i > 0:
				key = x[i]
				j = i - 2
				if x[j] > key:
					key = x[j]
					x[j] = x[i]
				x[i] = key
	for v in range(0, n):
		print(x[v], end='')
main()


def main():
	a = ''
	w = ''
	sum = input('')
	for i in sum:
		if i != '+':
			a += i
	for i in sorted(a):
		w += i + '+'
	print(w[:-1])
main()


str = input()
ver1 = str.replace('+', '')
problem = sorted(ver1)
string = '+'.join(problem)
print(string)


eingabe = str(input())
lst = []
ausgabe = ''
for i in range(len(eingabe)):
	if i % 2 == 0:
		lst.append(eingabe[i])
lst.sort()
for i in range(2 * len(lst) - 1):
	if i % 2 == 1:
		lst.insert(i, '+')
for i in range(len(lst)):
	ausgabe = ausgabe + lst[i]
print(ausgabe)


l = [x for x in input() if x != '+']
print('+'.join(sorted(l)))


ch = input()
l = [int(ch[i]) for i in range(0, len(ch), 2)]
l.sort()
print(l[0], end='')
for i in range(1, len(l)):
	print('+', end='')
	print(l[i], end='')


st = input()
lis = st.split('+')
l = []
for i in range(len(lis)):
	if lis[i].isdigit():
		l.append(int(lis[i]))
l.sort()
stt = ''
for i in range(len(l) - 1):
	stt = stt + str(l[i]) + '+'
stt = stt + str(l[-1])
print(stt)


operation = input()
operation = operation.split('+')
operation = sorted(operation)
result = '+'.join(operation)
print(result)


x = input()
a1 = a2 = a3 = 0
n = len(x)
for i in range(0, n, 2):
	if x[i] == '3':
		a3 += 1
	elif x[i] == '2':
		a2 += 1
	else:
		a1 += 1
if a1 >= 1 and a2 + a3 != 0:
	print('1+' * a1, end='')
elif a1 >= 1 and a2 + a3 == 0:
	print('1+' * (a1 - 1), end='')
	print('1')
	exit()
if a2 >= 1 and a3 >= 1:
	print('2+' * a2, end='')
	print('3+' * (a3 - 1), end='')
	print('3')
elif a2 >= 1 and a3 == 0:
	print('2+' * (a2 - 1), end='')
	print('2')
else:
	print('3+' * (a3 - 1), end='')
	print('3')


def main():
	s = sorted(input().strip().split('+'))
	count = ''
	for i in range(len(s)):
		count += count.join('+') if i > 0 else ''
		count += count.join(s[i])
	print(count)
main()


s = input()
z = ['1', '2', '3']
ans = []
for el in s:
	if el in z:
		ans.append(el)
ans.sort()
for (i, el) in enumerate(ans):
	print(el, end='')
	if i != len(ans) - 1:
		print('+', end='')


s = [i for i in input()]
a = sorted([int(s[i]) for i in range(0, len(s), 2)])
resp = '+'.join((str(i) for i in a))
print(resp)


def main():
	li = list(map(int, input().split('+')))
	li.sort()
	for i in range(len(li) - 1):
		print(f'{li[i]}+', end='')
	print(li[-1])
main()


list1 = input()
x = list1.split('+')
nums = list(map(int, x))
i = 0
while i < len(nums) - 1:
	if nums[i] > nums[i + 1]:
		temp = nums[i]
		nums[i] = nums[i + 1]
		nums[i + 1] = temp
		i = 0
	else:
		i += 1
x = list(map(str, nums))
ans = '+'.join(x)
print(ans)


t = input()
g = []
for x in t.split('+'):
	g.append(x)
g.sort()
for x in range(len(g)):
	if len(g) == 1:
		print(g[x], end='')
	elif x < len(g) - 1:
		print(g[x] + '+', end='')
	else:
		print(g[x], end='')


inputStr = input()
numQ = []
for i in inputStr.split('+'):
	numQ.append(int(i))
numQ.sort()
resultStr = str(numQ[0])
if len(numQ) > 1:
	numQ = numQ[1:]
	for i in numQ:
		resultStr += '+' + str(i)
print(resultStr)


print('+'.join(sorted(input().strip().split('+'))))


n = input().split('+')
n.sort()
new = ''
for i in range(len(n) - 1):
	new = new + n[i] + '+'
new = new + n[len(n) - 1]
print(new)


import heapq as hq
from heapq import heappop, heappush
from collections import deque, defaultdict, Counter
from sys import stdin, stdout

def inp():
	return int(stdin.readline())

def inlt():
	return list(map(int, stdin.readline().split()))

def insr():
	return list(stdin.readline().strip())

def invr():
	return map(int, stdin.readline().split())

def pr(n):
	stdout.write(str(n) + '\n')

def subset_sum_count(arr, n, sum):
	dp = [[0 for _ in range(sum + 1)] for _ in range(n + 1)]
	for i in range(n + 1):
		for j in range(sum + 1):
			if j == 0:
				dp[i][j] = 1
			elif arr[i - 1] <= j:
				dp[i][j] = dp[i - 1][j - arr[i - 1]] + dp[i - 1][j]
			else:
				dp[i][j] = dp[i - 1][j]
	return dp[n][sum]

def prefix(a):
	pre = []
	pre.append(a[0])
	for i in range(1, len(a)):
		pre.append(pre[i - 1] + a[i])
	return pre

def binary_search(func, lo, hi, abs_prec=1e-07):
	while abs(hi - lo) > abs_prec:
		mi = lo + (hi - lo) / 2
		if func(mi):
			hi = mi
		else:
			lo = mi
	return (lo + hi) / 2

def ternary_search(func, lo, hi, abs_prec=1e-07):
	while abs(hi - lo) > abs_prec:
		lo_third = lo + (hi - lo) / 3
		hi_third = hi - (hi - lo) / 3
		if func(lo_third) < func(hi_third):
			lo = lo_third
		else:
			hi = hi_third
	return (lo + hi) / 2

def discrete_binary_search(func, lo, hi):
	while lo < hi:
		mi = lo + (hi - lo) // 2
		if func(mi):
			hi = mi
		else:
			lo = mi + 1
	return lo

def discrete_ternary_search(func, lo, hi):
	while lo <= hi:
		lo_third = lo + (hi - lo) // 3
		hi_third = lo + (hi - lo) // 3 + (1 if 0 < hi - lo < 3 else (hi - lo) // 3)
		if func(lo_third) < func(hi_third):
			lo = lo_third + 1
		else:
			hi = hi_third - 1
	return lo
	return -1

def right_rotate(a, s):
	return a[s:] + a[:s]

def dec_to_bin(x):
	return int(bin(x)[2:])

def str_to_integer_list(n):
	a = []
	for i in range(len(n)):
		a.append(int(n[i]))
	return a

def list_to_str(l):
	s = ''
	for i in l:
		s += str(i)
	return s

def dijkstra(s, N, E):
	visited = set()
	dist = {}
	for i in range(1, N + 1):
		dist[i] = 1 << 29
	queue = [(dist[i], i) for i in range(1, N + 1)]
	hq.heappush(queue, (0, s))
	dist[s] = 0
	while queue:
		(d, u) = hq.heappop(queue)
		if u in visited:
			continue
		for t in E[u]:
			(v, r) = t
			if dist[v] > d + r:
				dist[v] = d + r
				hq.heappush(queue, (dist[v], v))
		visited.add(u)
	return dist

def prime_sieve(n):
	flag = n % 6 == 2
	sieve = bytearray((n // 3 + flag >> 3) + 1)
	for i in range(1, int(n ** 0.5) // 3 + 1):
		if not sieve[i >> 3] >> (i & 7) & 1:
			k = 3 * i + 1 | 1
			for j in range(k * k // 3, n // 3 + flag, 2 * k):
				sieve[j >> 3] |= 1 << (j & 7)
			for j in range(k * (k - 2 * (i & 1) + 4) // 3, n // 3 + flag, 2 * k):
				sieve[j >> 3] |= 1 << (j & 7)
	return sieve

def prime_list(n):
	res = []
	if n > 1:
		res.append(2)
	if n > 2:
		res.append(3)
	if n > 4:
		sieve = prime_sieve(n + 1)
		res.extend((3 * i + 1 | 1 for i in range(1, (n + 1) // 3 + (n % 6 == 1)) if not sieve[i >> 3] >> (i & 7) & 1))
	return res

def dijkstra(n, graph, start):
	(dist, parents) = ([float('inf')] * n, [-1] * n)
	dist[start] = 0
	queue = [(0, start)]
	while queue:
		(path_len, v) = heappop(queue)
		if path_len == dist[v]:
			for (w, edge_len) in graph[v]:
				if edge_len + path_len < dist[w]:
					(dist[w], parents[w]) = (edge_len + path_len, v)
					heappush(queue, (edge_len + path_len, w))
	return (dist, parents)

def path(start, end, parent):
	path = [end]
	while path[-1] != start:
		path.append(parent[path[-1]])
	path.reverse()
	return path

def bfs(graph, start, end):
	parent = {}
	queue = []
	queue.append(start)
	while queue:
		node = queue.pop(0)
		if node == end:
			return path(start, end, parent)
		for next in graph.get(node, []):
			if node not in queue:
				parent[next] = node
				queue.append(next)

def most_frequent(List):
	return max(set(List), key=List.count)

def subarray(arr, n):
	(ans, temp) = (1, 1)
	for i in range(1, n):
		if arr[i] == arr[i - 1]:
			temp = temp + 1
		else:
			ans = max(ans, temp)
			temp = 1
	ans = max(ans, temp)
	return ans
s = input()
l = []
for i in range(0, len(s), 2):
	l.append(int(s[i]))
l.sort()
s = ''
for i in l:
	if i == 1:
		s += '1+'
	elif i == 2:
		s += '2+'
	else:
		s += '3+'
print(s[:len(s) - 1])


s = input().split('+')
s.sort()
res = ''
for i in s:
	res += i + '+'
print(res[:-1])


inputs = input().split('+')
outputs = []
for i in range(len(inputs)):
	inputs[i] = int(inputs[i])
sorted = False
while not sorted:
	min = inputs[0]
	index = 0
	for i in range(len(inputs)):
		if inputs[i] < min:
			min = inputs[i]
			index = i
	outputs.append(inputs[index])
	inputs.pop(index)
	if len(inputs) == 0:
		sorted = True
s = ''
for i in range(len(outputs)):
	s += str(outputs[i]) + '+'
s = s[0:-1]
print(s)


arr = list(map(int, input().split('+')))
arr.sort()
new_str = ''
num = len(arr)
for i in range(0, num):
	new_str += str(arr[i]) + '+'
print(new_str[:-1])


def answer(a):
	list = []
	x = []
	b = ''
	if len(a) < 2:
		print(a)
		return
	for i in range(0, len(a), 2):
		list.append(a[i])
	sorting(list)
	for i in range(len(list)):
		b = b + list[i]
		if i < len(list) - 1:
			b = b + '+'
	print(b)

def sorting(list):
	for i in range(len(list)):
		min = len(list) - 1
		for j in range(i, len(list)):
			if list[j] < list[min]:
				min = j
		temp = list[i]
		list[i] = list[min]
		list[min] = temp
	return list
a = input(' ')
answer(a)


s = input().split('+')
s.sort()
new_s = ''
for i in s:
	new_s = new_s + i + '+'
print(new_s[:len(new_s) - 1])


inp = input()
lst = inp.split('+')
for i in range(len(lst)):
	for j in range(len(lst) - i):
		if int(lst[i]) > int(lst[i + j]):
			(lst[i], lst[i + j]) = (lst[i + j], lst[i])
inp = '+'.join(lst)
print(inp)


x = str(input())
y = list(x.split('+'))
y.sort()
z = '+'.join((i for i in y))
print(z)


l = [int(x) for x in input().split('+')]
l.sort()
s = ''
for x in l:
	s += str(x) + '+'
print(s[0:len(s) - 1])


y = input()
list = []
for i in range(0, len(y)):
	list.insert(i, y[i])
count1 = list.count('1')
count2 = list.count('2')
count3 = list.count('3')
newlist = []
for c in range(0, count3):
	newlist.insert(c, 3)
for b in range(0, count2):
	newlist.insert(b, 2)
for a in range(0, count1):
	newlist.insert(a, 1)
for d in range(0, len(list)):
	if d % 2 != 0:
		newlist.insert(d, '+')
listToStr = ''.join(map(str, newlist))
print(listToStr)


w = input()
k = w.split('+')
s = []
for i in range(len(k)):
	s.append(int(k[i]))
s.sort()
for i in range(len(s)):
	if i != len(s) - 1:
		print(s[i], '+', sep='', end='')
	else:
		print(s[i])


s = str(input())
x = []
for i in range(len(s)):
	if i % 2 == 0:
		x.append(s[i])
x.sort()
c = ''
for i in range(len(x)):
	c = c + x[i] + '+'
c = c[:-1]
print(c)


s = input().split('+')
num = []
for i in s:
	num.append(int(i))
num.sort()
j = 0
for i in num:
	if j == len(num) - 1:
		print(f'{i}', end='')
	else:
		print(f'{i}+', end='')
	j += 1


import os, sys
a = input()
b = a.split('+')
b.sort()
m = ''
for i in range(len(b)):
	if i + 1 == len(b):
		m = m + b[i]
	else:
		m = m + b[i] + '+'
print(m)


a = [w for w in input().split('+')]
a.sort(key=int)
for i in range(len(a) - 1):
	print(str(a[i] + '+'), end='')
print(a[len(a) - 1])


string = input()
newlist = []
for i in list(string):
	if i != '+':
		newlist.append(i)
print(*sorted(newlist), sep='+')


n = input()
n = n.replace('+', '')
n = list(n)
n = sorted(n)

def intersperse(lst, item):
	result = [item] * (len(lst) * 2 - 1)
	result[0::2] = lst
	return result
n = intersperse(n, '+')
n = ''.join(n)
print(n)


y = input('').split('+')
y.sort()
returnString = ''
for value in y:
	returnString = returnString + value + '+'
realReturnString = returnString[0:len(returnString) - 1]
print(realReturnString)


a = list(input())
for i in a:
	if i == '+':
		a.remove(i)
b = sorted(a)
print('+'.join(b))


n = input()
n = n.split('+')
n = [int(x) for x in n]
n.sort()
n = [str(x) for x in n]
n = '+'.join(n)
print(n)


math = input().split('+')
math.sort()
string = '+'
print(string.join(math))


x = input()
one = 0
two = 0
three = 0
y = ''
for c in x:
	if c == '3':
		three += 1
	if c == '2':
		two += 1
	if c == '1':
		one += 1
for i in range(0, one):
	y = y + '1'
	y = y + '+'
for i in range(0, two):
	y = y + '2'
	y = y + '+'
for i in range(0, three):
	y = y + '3'
	y = y + '+'
y = y[:-1]
print(y)


a = str(input())
l = len(a)
aa = []
b1 = a.count('1')
b2 = a.count('2')
b3 = a.count('3')
for i in range(b1):
	aa.append('1')
	aa.append('+')
for i in range(b2):
	aa.append('2')
	aa.append('+')
for i in range(b3):
	aa.append('3')
	aa.append('+')
for i in range(l):
	print(aa[i], end='')


list = input().split('+')
num = len(list)
i = 0
for i in range(0, num - 1):
	j = i + 1
	for j in range(i + 1, num):
		if list[i] > list[j]:
			(list[i], list[j]) = (list[j], list[i])
k = 0
for k in range(0, num):
	if k == num - 1:
		print(list[k], end='')
		break
	print('{}+'.format(list[k]), end='')


s = list(input())
x = []
for i in s:
	if i != '+':
		x.append(i)
x.sort()
z = ''
for i in x:
	z += i + '+'
print(z[:len(s)])


a = input()
list = []
for x in range(len(a)):
	if a[x] == '+':
		pass
	else:
		list.append(int(a[x]))
list.sort()
s = ''
for x in list:
	s = s + str(x) + '+'
print(s[:-1])


s1 = input()
l = s1.split('+')
length = len(l)
l.sort()
for x in range(0, length):
	print(l[x], end='')
	if x < length - 1:
		print('+', end='')


string = input()
nums = []
for i in string:
	if i != '+':
		nums.append(i)
nums.sort()
print(*nums, sep='+')


import sys
expression = sys.stdin.readline()
expression = list(expression)
for i in expression:
	if i == '+':
		expression.remove(i)
expression.sort()
new_expression = []
for i in expression:
	new_expression.append(i)
	new_expression.append('+')
del new_expression[1]
del new_expression[-1]
b = ''.join(new_expression)
print(b)


s = input().split('+')
length = len(s)
for i in range(length):
	for j in range(i, length):
		if s[i] > s[j]:
			(s[i], s[j]) = (s[j], s[i])
for k in range(length):
	(print(s[k], end=''),)
	if k != length - 1:
		(print('+', end=''),)


M = str(input())
if len(M) < 2:
	print(M)
else:
	N = ''
	for i in range(2, len(M), 2):
		a = M.count('1')
		b = M.count('2')
		c = M.count('3')
	for i in range(a):
		N += '1+'
	for i in range(b):
		N += '2+'
	for i in range(c):
		N += '3+'
	print(N[0:len(N) - 1])


import sys
for s in sys.stdin:
	inputs = list(map(int, s.split('+')))
	inputs.sort()
	print('+'.join(list(map(str, inputs))))


stroka = input()
stroka = stroka.split('+')
pravda = []
for el in stroka:
	el = int(el)
	pravda.append(el)
pravda = sorted(pravda)
prav_pravda = []
for elem in pravda:
	elem = str(elem)
	prav_pravda.append(elem)
print('+'.join(prav_pravda))


inp = input().split('+')
inp.sort()
for i in range(0, len(inp)):
	if i != len(inp) - 1:
		print(inp[i], end='+')
	else:
		print(inp[i])


value = input().split('+')
value.sort()
new = '+'.join(value)
print(new)


s = input()
L = s.split('+')
L.sort()
print('+'.join(L))


arr = map(int, input().split('+'))
arr = sorted(arr)
print(arr[0], end='')
for i in range(1, len(arr)):
	print('+' + str(arr[i]), end='')


def stringer(seq):
	if len(seq) == 1:
		return seq[0]
	return '{}+{}'.format('+'.join(seq[:-1]), seq[-1])
seq = list(input().split('+'))
seq.sort()
print(stringer(seq))


s = str(input())
list = []
if len(s) <= 100:
	for i in s:
		if i == '+':
			continue
		else:
			list.append(i)
	list.sort()
	final_list = '+'.join(list)
	print(final_list)


s = [x for x in input().split('+')]
s.sort()
main = ''
for i in range(len(s)):
	main += str(s[i])
	if i != len(s) - 1:
		main += '+'
print(main)


s = input()
b = []
a = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
for i in range(0, len(s)):
	if s[i] in a:
		b.append(s[i])
b.sort()
for i in range(0, len(b) - 1):
	print(*b[i], '+', sep='', end='')
print(*b[len(b) - 1])


x = [int(x) for x in input().split('+')]
x.sort()
y = []
for i in x:
	y.append(str(i))
print('+'.join(y))


s = input()
slen = len(s)
num = []
for i in range(slen):
	if s[i] != '+':
		num.append(int(s[i]))
numlen = len(num)
for i in range(numlen):
	for j in range(numlen):
		if num[i] < num[j]:
			d = num[i]
			num[i] = num[j]
			num[j] = d
st = ''
for i in range(numlen * 2):
	if i % 2 == 0:
		st += str(num[i // 2])
	else:
		st += '+'
x = len(st)
print(st[:x - 1])


str_list = input().split('+')
str_list = list(map(int, str_list))
sort_list = sorted(str_list)
sort_out = str(sort_list[0])
for i in range(1, len(sort_list)):
	sort_out = sort_out + '+' + '{}'.format(sort_list[i])
print(sort_out)


s = input()
sl = s.split('+')
sl.sort()
a = ''
for i in sl:
	a += '{}+'.format(i)
a = a[:-1]
print(a)


a = str(input()).split('+')
a.sort()
ans = ''
for i in a[:-1]:
	ans += i + '+'
print(ans + a[-1])


s = input()
u = []
j = 0
a = ''
for i in s:
	if i in ['1', '2', '3']:
		u.append(i)
u.sort()
for i in range(len(s)):
	if i % 2 != 0:
		a += '+'
	else:
		a += u[j]
		j += 1
print(a)


def sort(a, d):
	b = 0
	while b * 2 < d:
		if int(a[b * 2]) > int(a[b * 2 + 2]):
			c = a[b * 2]
			a[b * 2] = a[b * 2 + 2]
			a[b * 2 + 2] = c
		b = b + 1
	return a
a = list(input())
b = len(a) - 2
while b > 0:
	a = sort(a, b)
	b = b - 2
d = ''
b = 0
while b < len(a):
	d = d + a[b]
	b = b + 1
print(d)


n = input()
a = []
for i in range(0, len(n), 2):
	a.append(n[i])
a.sort()
c = ''
for i in range(len(a)):
	c = c + a[i] + '+'
b = ''
for i in range(len(c) - 1):
	b = b + c[i]
print(b)


import re
s = input()
fin = re.compile('\\d')
num = fin.findall(s)
print('+'.join(sorted(num)))


s = input()
if len(s) <= 1:
	print(s)
else:
	l = s.split('+')
	for i in range(len(l)):
		l[i] = int(l[i])
	l.sort()
	for i in range(len(l)):
		l[i] = str(l[i])
	s = '+'.join(l)
	print(s)


expression = list(input().split('+'))
print('+'.join(sorted(expression)))


sum = list(input())
sum = list(filter(lambda a: a != '+', sum))
sum.sort()
result = []
for i in range(len(sum) * 2 - 1):
	if i % 2 == 0:
		result.append(sum[i // 2])
	else:
		result.append('+')
strResult = str()
print(strResult.join(result))


s = input()
ns = []
for i in range(0, len(s), 2):
	ns.append(int(s[i]))
ns.sort()
if len(ns) == 1:
	print(ns[0])
else:
	print('+'.join(map(str, ns)))


s = input()
x = ['none'] * len(s)
for i in range(len(s)):
	x[i] = s[i]
x.sort()
y = (len(x) - 1) / 2
y = int(y)
for z in range(y):
	x.remove(x[0])
	z += 1
z = 0
Z = len(x) * 2 - 1
while z < Z:
	if z % 2 == 0:
		x.insert(z, '+')
	z += 1
x.remove(x[0])
for i in range(len(x)):
	print(x[i], end='')


s = input().split('+')
s = sorted(list(map(int, s)))
for i in s[:-1]:
	print(i, end='+')
print(s[-1])


n = input()
a = list(n)
b = []
for i in a:
	if i != '+':
		b.append(i)
c = sorted(b)
d = '+'.join(c)
print(d)


sum = str(input())
list = list(sum.split('+'))
list.sort()
print('+'.join(list))


s = input()
s = s.replace('+', '')
o = ''
tw = ''
tr = ''
for i in s:
	if i == '1':
		o = o + '1+'
	elif i == '2':
		tw = tw + '2+'
	else:
		tr = tr + '3+'
s = o + tw + tr
if s[len(s) - 1] == '+':
	s = s[:len(s) - 1]
print(s)


s = list(input())
t = []
for i in range(0, len(s), 2):
	t.append(s[i])
t.sort()
print('+'.join(t))


def main():
	from sys import stdout
	inp = input()
	res_1 = ''
	res_2 = ''
	res_3 = ''
	for i in inp:
		if i == '3':
			res_3 += '+' + i
		elif i == '2':
			res_2 += '+' + i
		elif i == '1':
			res_1 += '+' + i
	res = res_1 + res_2 + res_3
	res = res[1:]
	stdout.write(str(res))
main()


d = sorted([x for x in map(int, input().split('+'))])
n = len(d)
for i in range(n):
	if i != n - 1:
		print('{0}+'.format(d[i]), end='')
	if i == n - 1:
		print('{0}'.format(d[i]))


s = input()
sorted_s = []
for i in range(len(s)):
	if i % 2 == 0:
		sorted_s.append(int(s[i]))
sorted_s = sorted(sorted_s)
new_s = ''
for i in range(len(sorted_s)):
	if i == len(sorted_s) - 1:
		new_s = new_s + str(sorted_s[i])
	else:
		new_s = new_s + str(sorted_s[i]) + '+'
print(new_s)


equation = list(map(int, input().split('+')))

def sort(data):
	size = len(data)
	key = 1
	start = 1
	while start < size:
		if start == 0:
			start = key
		if data[start] < data[start - 1]:
			(data[start], data[start - 1]) = (data[start - 1], data[start])
			key = start
			start -= 1
		else:
			start += 1
sort(equation)
if len(equation) > 1:
	for i in range(len(equation) - 1):
		print(equation[i], end='+')
	print(equation[len(equation) - 1])
else:
	print(equation[0])


x = list(input().split('+'))
x.sort()
y = ''
for i in range(0, len(x) - 1):
	y += x[i] + '+'
y += x[-1]
print(y)


numbers = input()
numbers = numbers.split('+')
numbers.sort()
result = '+'.join((str(number) for number in numbers))
print(result)


calc = list(input())
calc = [a + '+' for a in calc if a != '+']
calc = sorted(calc)
calc = ''.join((b for b in calc))
print(calc[:-1])


a = input()
b = a.split('+')
b.sort()
d = ''
for i in range(len(b)):
	d = d + '+' + b[i]
print(d[1:])


a = input()
m = []
for i in range(0, len(a), 2):
	m.append(int(a[i]))
for i in range(len(m)):
	for j in range(1, len(m)):
		if m[j - 1] > m[j]:
			p = m[j - 1]
			m[j - 1] = m[j]
			m[j] = p
for i in range(len(m)):
	m[i] = str(m[i])
print('+'.join(m))


import re
print('+'.join(sorted(input().split('+'))))


s = input()
s = s.replace('+', ' ')
num = [int(x) for x in s.split()]
n = len(num)
num.sort()
for x in range(n):
	if x < n - 1:
		print(num[x], end='+')
	else:
		print(num[x])


import sys
m = input().split('+')
m.sort()
for x in range(0, len(m)):
	if x != len(m) and x != 0:
		sys.stdout.write('+')
	sys.stdout.write(m[x])


s = input().split('+')
s.sort()
print(s[0], end='')
for i in s[1:]:
	print('+' + str(i), end='')


s = ''
a = list(map(str, input()))
a.sort()
for i in range(len(a) // 2, len(a)):
	s += a[i]
	s += '+'
print(s[:len(s) - 1])


inputString = input()
sperate = inputString.split('+')
for i in range(len(sperate)):
	sperate[i] = int(sperate[i])
sperate.sort()
out = ''
for i in range(len(sperate)):
	if i == len(sperate) - 1:
		out += str(sperate[i])
	else:
		out += str(sperate[i]) + '+'
print(out)


s = list(map(str, input().split('+')))
s.sort()
n = len(s)
for i in range(n):
	if i != n - 1:
		print(s[i] + str('+'), end='')
	else:
		print(s[i])


ip = input().split('+')
ip.sort()
ip = '+'.join(ip)
print(ip)


ring = str(input())
a = ring[::2]
a = ''.join(sorted(a))
g = a[0]
for f in range(1, len(a)):
	g = g + '+'
	g = g + a[f]
print(g)


s = input()
li = []
s1 = ''
for i in range(len(s)):
	if s[i] == '+':
		continue
	else:
		li.append(int(s[i]))
li.sort()
for i in range(len(li)):
	if i == len(li) - 1:
		s1 = s1 + str(li[i])
	else:
		s1 = s1 + str(li[i]) + '+'
print(s1)


s = str(input())
s = s.replace('+', '')
d = list(s)
d = sorted(d)
e = '+'.join(d)
print(e)


s = input()
l = list(s)
while l.count('+'):
	l.remove('+')
l.sort()
print('+'.join(l))


s = input()
s = s.replace('+', '')
s1 = list(s)
s1.sort()
n = len(s1)
i = 0
while i < n:
	print(s1[i], end='')
	if i == n - 1:
		break
	else:
		print('+', end='')
	i = i + 1


A = list(input())
n = int((len(A) + 1) / 2)
B = [0] * n
for i in range(0, n):
	B[i] = int(A[i * 2])
C = sorted(B)
D = []
if n == 1:
	print(str(B[0]))
else:
	for i in range(0, n - 1):
		D.append(str(C[i]) + '+')
	D.append(str(C[n - 1]))
	e = ''.join(D)
	print(e)


try:
	s = input()
	k = []
	for i in range(len(s)):
		if s[i] == '+':
			continue
		else:
			k.append(s[i])
	k.sort()
	j = []
	for i in range(len(k)):
		j.append(k[i])
		j.append('+')
	j.pop(-1)
	print(*j, sep='')
except:
	pass


import math
string = input()
string = list(string)
string.sort()
for i in range(len(string) // 2):
	string.remove('+')
string = '+'.join(string)
print(string)


math = input()
list_math = math.split('+')
list_math.sort()
answer = '+'.join(list_math)
print(answer)


l = []
s = ' '
string = list(input())
string.sort()
for i in string:
	if i == '1' or i == '2' or i == '3':
		l.append(i + '+')
for j in l:
	s += j
s = s[:-1]
print(s)


x = input()
list = x.split('+')
list.sort()
x = ''
for i in list:
	x = x + '{}+'.format(i)
x = x.strip('+')
print(x)


n = input().split('+')
num = []
for i in range(len(n)):
	num.append(int(n[i]))
num = sorted(num)
for i in range(len(num) - 1):
	print(num[i], end='+')
print(num[len(num) - 1])


arr = []
ans = input()
for i in range(0, len(ans), 2):
	arr.append(ans[i])
arr.sort()
ans = ''
for i in arr[0:len(arr) - 1]:
	ans += i + '+'
ans += arr[len(arr) - 1]
print(ans)


string = input()
l = list(string)
for i in l:
	if i == '+':
		l.remove(i)
l.sort()
st = '+'.join(l)
print(st)


string = sorted(list(map(int, input().split('+'))))
new_str = [str(i) for i in string]
print('+'.join(new_str))


x = list(input())
j = 0
y = []
for i in range(0, len(x)):
	if i % 2 == 0:
		y.append(x[i])
		j += 1
y.sort()
print('+'.join(y))


s = input().split('+')
s.sort()
array = []
j = 0
for i in s:
	array.append(int(i))
	j += 1
array.sort()
k = 0
while k < len(array) - 1:
	print(array[k], end='+')
	k += 1
print(array[len(array) - 1])


text = list(map(int, input().rstrip().split('+')))
text = sorted(text)
for num in text[0:-1]:
	print(num, end='+')
print(text[-1])


ip = input()
one = ip.count('1')
two = ip.count('2')
thr = ip.count('3')
print(f"{one * '1+'}{two * '2+'}{thr * '3+'}"[:-1])


sum_str = input()
summands = sum_str.split('+')
summands.sort()
sum_str = '+'.join(summands)
print(sum_str)


a = input()
t = list(a)
while '+' in t:
	t.remove('+')
t.sort()
n = t[0]
for i in range(1, len(t)):
	n = n + '+' + t[i]
print(n)


text = list(input().split('+'))
text = sorted(text)
res = ''
for i in range(len(text)):
	if i == len(text) - 1:
		res = res + text[i]
	else:
		res = res + text[i] + '+'
print(res)


s = input()
list_ = []
for i in range(0, len(s), 2):
	list_.append(int(s[i]))
l = sorted(list_)
le = len(l)
for i in range(le - 1):
	print(l[i], end='+')
print(l[le - 1])


l = [','.join(x) for x in input().split()[0]]
(i, j) = (0, 0)
l1 = sorted(list(filter(lambda a: a != '+', l)))
while i <= len(l):
	l[i] = l1[j]
	i += 2
	j += 1
print(''.join([i for i in l]))


s = [int(x) for x in input().split('+')]
print('+'.join((str(x) for x in sorted(s))))


a = input()
s = []
for i in a:
	if i.isdigit():
		s.append(int(i))
s.sort()
print(*s, sep='+', end='')


numbers = list(map(int, input().strip().split('+')))
numbers.sort()
print('+'.join((str(i) for i in numbers)))


inputFormular = sorted(input().split('+'))
result = ''
for i in range(len(inputFormular)):
	if i != len(inputFormular) - 1:
		result += inputFormular[i] + '+'
	else:
		result += inputFormular[i]
print(result)


a = input()
if a in ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']:
	print(a)
else:
	delim = '+'
	b = a.split(delim)
	c = b.sort()
	d = delim.join(b)
	print(d)


n = input()
a = ''
v = n.split('+')
h = [int(i) for i in v]
h.sort()
z = [str(i) for i in h]
z = '+'.join(z)
print(z)


val = input().split('+')
val.sort()
print('+'.join(val))


a = input()
b = [0] * 4
for i in range(0, len(a), 2):
	b[int(a[i])] += 1
if b[3] >= 1:
	print(b[1] * '1+' + b[2] * '2+' + (b[3] - 1) * '3+' + '3')
elif b[2] >= 1:
	print(b[1] * '1+' + (b[2] - 1) * '2+' + '2')
else:
	print((b[1] - 1) * '1+' + '1')


n = list(input().split('+'))
n.sort()
for i in range(len(n)):
	if i < len(n) - 1:
		print(n[i], '+', sep='', end='')
	if i == len(n) - 1:
		print(n[i])


a = input()
x = list()
for i in range(0, len(a), 2):
	x.append(a[i])
x = sorted(x)
a = '+'.join(x)
print(a)


s = input()
words = list(s)
for i in words:
	if i == '+':
		words.remove('+')
words = sorted(words)
words = '+'.join(words)
print(words)


import math
from sys import stdin, stdout

def get_int():
	return int(stdin.readline().strip())

def get_ints():
	return map(int, stdin.readline().strip().split())

def get_string():
	return stdin.readline().strip()

def get_list():
	return list(map(int, stdin.readline().strip().split()))
s = get_string()
s = s.replace('+', '')
s = ''.join(sorted(s))
newS = ''
for i in range(len(s)):
	if i == len(s) - 1:
		newS += s[i]
		break
	newS += s[i] + '+'
stdout.write(newS)


s = input()
p = ''
x = '1'
y = '1'
for i in range(int((len(s) + 1) / 2)):
	p = p + s[2 * i]
k = len(p)
n1 = 0
n2 = 0
n3 = 0
for i in range(k):
	if p[i] == '1':
		n1 = n1 + 1
	if p[i] == '2':
		n2 = n2 + 1
	if p[i] == '3':
		n3 = n3 + 1
q = ''
for i in range(n1):
	q = q + '1+'
for i in range(n2):
	q = q + '2+'
for i in range(n3):
	q = q + '3+'
r = ''
for i in range(len(q) - 1):
	r = r + str(q[i])
print(r)


digit = list(map(int, input().split('+')))
digit = sorted(digit)
result = ''
for i in range(len(digit)):
	if i == len(digit) - 1:
		temp = str(digit[i])
	else:
		temp = str(digit[i]) + '+'
	result = result.__add__(temp)
print(result)


s = input()
a = sorted(s[::2])
b = ''
for i in range(len(a) - 1):
	print(a[i], end='+')
print(a[-1])


L = input().split('+')
L = sorted(L)
st = ''
for i in L:
	st += i
	st += '+'
print(st[:-1])


import sys
from math import *

def solve():
	s = list(map(int, input().split('+')))
	s = sorted(s)
	for i in range(len(s)):
		print(str(s[i]) + '+' if i != len(s) - 1 else s[i], end='')
solve()


s = input()
p = s.split('+')
p.sort()
p1 = '+'.join(p)
print(p1)


b = []
a = input()
for i in range(len(a)):
	if a[i] != '+':
		b.append(a[i])
b.sort()
for i in range(len(b)):
	print(b[i], end='')
	if i != len(b) - 1:
		print('+', end='')


def inp():
	ls = list(map(str, input().split('+')))
	return ls
ls = inp()
ls.sort()
print('+'.join(ls))


nums = [int(i) for i in input().split('+')]
nums.sort()
print('+'.join(map(str, nums)))


def solution(init):
	return '+'.join(sorted(init.split('+')))
print(solution(input()))


prob = input()
digits = prob.split('+')
for i in range(len(digits)):
	digits[i] = int(digits[i])
digits.sort()
prob_new = ''
for d in digits:
	prob_new += str(d) + '+'
print(prob_new[:-1])


str1 = input()
a = []
for i in range(len(str1)):
	if ord(str1[i]) != 43:
		a.append(int(str1[i]))
a.sort()
out = ''
for i in range(len(a) - 1):
	out += str(a[i])
	out += '+'
out += str(a[len(a) - 1])
print(out)


mat = input()
uno = int(0)
dos = int(0)
tres = int(0)
p1 = str('')
for x in mat:
	if x == '1':
		uno = int(uno + 1)
	if x == '2':
		dos = int(dos + 1)
	if x == '3':
		tres = int(tres + 1)
while uno > 0:
	p1 = str(p1 + '1')
	uno = int(uno - 1)
	if uno != int(0) or dos != int(0) or tres != int(0):
		p1 = str(p1 + '+')
while dos > 0:
	p1 = str(p1 + '2')
	dos = int(dos - 1)
	if dos != int(0) or tres != int(0):
		p1 = str(p1 + '+')
while tres > 0:
	p1 = str(p1 + '3')
	tres = int(tres - 1)
	if tres != int(0):
		p1 = str(p1 + '+')
print(p1)


summands = input().split('+')
summands.sort()
sumString = '+'.join(summands)
print(sumString)


s = input()
s1 = ''
if len(s) == 1:
	print(s)
else:
	for i in range(len(s)):
		if s[i] != '+':
			s1 = s1 + s[i]
	s2 = ''
	for j in s1:
		if j == '1':
			s2 = s2 + j
	for i in s1:
		if i == '2':
			s2 = s2 + i
	for j in s1:
		if j == '3':
			s2 = s2 + j
	s2 = '+'.join(s2)
	print(s2)


a = []
c = input().split('+')
b = []
for i in range(0, len(c)):
	b.append(int(c[i]))
for i in range(len(b)):
	min_idx = i
	for j in range(i + 1, len(b)):
		if b[min_idx] > b[j]:
			min_idx = j
	(b[i], b[min_idx]) = (b[min_idx], b[i])
result = ''
for i in range(0, len(b)):
	result += str(b[i]) + '+'
print(str(result[0:len(result) - 1]))


a = input()
a = list(a.replace('+', ''))
a.sort()
str = ''
for item in a:
	str += item
str = '+'.join(str)
print(str)


sum = input()
A = []
for i in range(0, len(sum), 2):
	A.append(int(sum[i]))
A.sort()
print(*A, sep='+')


s = input()
n = len(s)
list1 = []
for i in range(n):
	if s[i] != '+':
		list1.append(s[i])
list1.sort()
print('+'.join(list1))


sum = input()
res = []
for i in sum:
	if i != '+':
		res.append(int(i))
res = sorted(res)
string = ''
for i in range(len(res) - 1):
	string = string + str(res[i]) + '+'
string = string + str(res[len(res) - 1])
print(string)


eq = input()
eq2 = eq.replace('+', '')
testlist = []
fn = ''
for x in eq2:
	testlist.append(int(x))
tl2 = sorted(testlist)
for y in tl2:
	fn += str(y) + '+'
fn = fn[:-1]
print(fn)


import sys

class Scanner:

	def __init__(self):
		self.current_tokens = []

	def remaining_tokens(self):
		return len(self.current_tokens)

	def nextline(self):
		assert self.remaining_tokens() == 0, 'Reading next line with remaining tokens'
		return input()

	def nexttokens(self):
		return self.nextline().split()

	def nexttoken(self):
		if len(self.current_tokens) == 0:
			self.current_tokens = self.nexttokens()
		assert self.remaining_tokens() > 0, 'Not enough tokens to parse.'
		return self.current_tokens.pop(0)

	def nextints(self, n=-1):
		if n == -1:
			return list(map(int, self.nexttokens()))
		else:
			return (self.nextint() for i in range(n))

	def nextint(self):
		return int(self.nexttoken())

def quit():
	sys.exit(0)
stdin = Scanner()
nextint = stdin.nextint
nextints = stdin.nextints
nextline = stdin.nextline
s = nextline().split('+')
ia = sorted([int(i) for i in s])
r = ''
for i in range(len(ia) - 1):
	r += str(ia[i])
	r += '+'
r += str(ia[len(ia) - 1])
print(r)


print('+'.join([str(s) for s in sorted([int(n) for n in input().split('+')])]))


while True:
	try:
		line = input()
		num = [0] * 4
		for i in range(0, len(line), 2):
			num[int(line[i])] += 1
		nt = ''
		for i in range(4):
			while num[i] > 0:
				nt += str(i)
				num[i] -= 1
		print('+'.join(nt))
	except EOFError:
		break


def solution(input_string):
	new_list = input_string.split('+')
	new_list.sort()
	for number in range(len(new_list)):
		if number == len(new_list) - 1:
			print(new_list[number])
		else:
			print(new_list[number] + '+', end='')
input_string = input()
solution(input_string)


a = [x for x in input()]
b = []
for n in range(len(a)):
	if n % 2 == 0:
		b.append(a[n])
c = []
for m in range(len(b)):
	if b[m] == '2':
		c.append(b[m])
for m in range(len(b)):
	if b[m] == '1':
		c.insert(0, b[m])
	elif b[m] == '3':
		c.append(b[m])
d = c[0]
for p in range(1, len(c)):
	d = d + '+' + c[p]
print(d)


str = list(input())
l = len(str)
for i in range(0, l - 2, 2):
	for j in range(i + 2, l, 2):
		if str[j] < str[i]:
			temp = str[i]
			str[i] = str[j]
			str[j] = temp
print(''.join(str))


s = list(map(str, input().split('+')))
s.sort()
ans = ''
for i in range(0, len(s)):
	if i == len(s) - 1:
		ans += s[i]
	else:
		ans += s[i] + '+'
print(ans)


sum = str(input())
sum = list(sum.split('+'))
sum.sort()
out = ''
for s in sum:
	out = str(out) + '+' + str(s)
print(out[1:])


s = input()
lst = s.split('+')
lst.sort()
for i in range(len(lst)):
	if i > 0:
		print('+', end='')
	print(lst[i], end='')


def solve():
	string = input()
	nums = [str(i) for i in range(1, 4)]
	nums_to_sort = []
	for el in string:
		if nums.count(el) == 1:
			nums_to_sort.append(el)
	nums_to_sort.sort()
	for i in range(len(nums_to_sort) - 1):
		nums_to_sort[i] += '+'
	for el in nums_to_sort:
		print(el, end='')
solve()


S = str(input())
Rep = ''
S = S.replace('+', '')
S = sorted(S)
for i in S:
	assert int(i) <= 3
for i in S:
	Rep += i
Rep = ' '.join(Rep)
Rep = Rep.replace(' ', '+')
print(Rep)


list1 = list(map(int, input().split('+')))
str1 = ''
list1.sort()
if len(list1) == 1:
	print(list1[0])
else:
	for i in list1:
		str1 = str1 + str(i) + '+'
print(str1[:len(str1) - 1])


N = list(map(int, input().split('+')))
N.sort()
N = list(map(str, N))
ans = '+'.join(N)
print(ans)


s = input()
lis = []
for i in s:
	if i != '+':
		lis.append(i)
		lis.sort()
print(lis[0], end='')
for x in range(1, len(lis)):
	print('+' + lis[x], end='')


s = input()
(c1, c2, c3) = (0, 0, 0)
for c in s:
	if c == '1':
		c1 += 1
	elif c == '2':
		c2 += 1
	elif c == '3':
		c3 += 1
ans = ''
for i in range(c1):
	ans += '1+'
for i in range(c2):
	ans += '2+'
for i in range(c3):
	ans += '3+'
print(ans.rstrip('+'))


def partition(arr, low, high):
	i = low - 1
	pivot = arr[high]
	for j in range(low, high):
		if arr[j] <= pivot:
			i = i + 1
			(arr[i], arr[j]) = (arr[j], arr[i])
	(arr[i + 1], arr[high]) = (arr[high], arr[i + 1])
	return i + 1

def quickSort(arr, low, high):
	if len(arr) == 1:
		return arr
	if low < high:
		pi = partition(arr, low, high)
		quickSort(arr, low, pi - 1)
		quickSort(arr, pi + 1, high)
a = input().split('+')
n = len(a)
quickSort(a, 0, n - 1)
print('+'.join(a))


x = 1
a = [int(i) for i in input().split('+')]
a1 = sorted(a)
print(*a1, sep='+')


s = [str(x) for x in input() if x != '+']
for _ in range(len(s)):
	for x in range(len(s) - 1):
		if s[x + 1] < s[x]:
			(s[x + 1], s[x]) = (s[x], s[x + 1])
print('+'.join(s))


def hm(s):
	l = ''
	s.sort()
	for v in s:
		l += v + '+'
	l = l[0:-1]
	return l
s = input().strip().split('+')
print(hm(s))


s = str(input())
li = list(s.split('+'))
li2 = []
s2 = ''
for i in range(len(li)):
	li2.append(int(li[i]))
li2.sort()
for i in range(len(li2)):
	s2 = s2 + str(li2[i]) + '+'
n = len(s2)
s3 = s2[0:n - 1]
print(s3)


i = input().split('+')
i.sort()
a = '+'.join(i)
print(a)


n = input()
lst = []
for i in range(0, len(n), 2):
	lst.append(n[i:i + 1])
lst.sort()
st = ''
for i in lst:
	st = st + str(i) + '+'
print(st[:len(st) - 1])


ls = list(map(int, input().split('+')))
ls.sort()
sz = 0
for i in ls:
	sz += 1
cnt = 0
for i in ls:
	cnt += 1
	if cnt == sz:
		print(i)
	else:
		print(i, end='+')


string = str(input())
return_string = ''
list = []
for no in string[::2]:
	list.append(int(no))
list.sort()
for i in range(len(list) - 1):
	return_string += str(list[i]) + '+'
return_string += str(list[-1])
print(return_string)


def ezMath():
	a = input().strip().split('+')
	a.sort()
	b = '+'.join(a)
	print(b)
ezMath()


s = input()
l = []
for i in s:
	if i.isdigit():
		l.append(i)
l.sort()
k = []
for i in l:
	k.append('+')
	k.append(i)
for i in range(1, len(k)):
	print(k[i], end='')


a = str(input())
foo = []
for i in a:
	if i in '123':
		foo.append(int(i))
foo = sorted(foo)
print(foo[0], end='')
if len(foo) != 1:
	for i in foo[1:]:
		print('+', end='')
		print(i, end='')


arr = [i for i in input().split('+')]
arr.sort()
ans = '+'.join(arr)
print(ans)


st = str(input())
number = st.split('+')
number.sort()
st = ''
for i in number:
	st += i + '+'
st = st[:-1]
print(st)


s = input()
length = len(s)
data = s.split('+')
data.sort()
for i in range(len(data)):
	print('%s' % data[i], end='')
	if i < len(data) - 1:
		print(end='+')


x = input()
z = ''
a = x.count('1')
b = x.count('2')
c = x.count('3')
z += '1+' * a + '2+' * b + '3+' * c
print(z[:-1])


datos = input().split('+')
datos.sort()
print('+'.join(datos))


s = input()
a = 0
b = 0
c = 0
for i in range(0, len(s)):
	if s[i] == '1':
		a = a + 1
	if s[i] == '2':
		b = b + 1
	if s[i] == '3':
		c = c + 1
p = '1+' * a + '2+' * b + '3+' * c
print(p[:-1])


a = input()
(k1, k2, k3) = (0, 0, 0)
for i in range(len(a)):
	if a[i] == '1':
		k1 += 1
	elif a[i] == '2':
		k2 += 1
	elif a[i] == '3':
		k3 += 1
a = ''
for j in range(k1):
	a += '1' + '+'
for j in range(k2):
	a += '2' + '+'
for j in range(k3):
	a += '3' + '+'
print(a[:len(a) - 1])


string = input()
l = list(string.split('+'))
l.sort()
print('+'.join(l))


n = input()
c_1 = 0
c_2 = 0
c_3 = 0
for i in n:
	if i == '1':
		c_1 = c_1 + 1
	elif i == '2':
		c_2 = c_2 + 1
	elif i == '3':
		c_3 = c_3 + 1
	else:
		continue
b = ''
b = b + '+1' * c_1
b = b + '+2' * c_2
b = b + '+3' * c_3
print(b[1:])


s = input()
l = s.split('+')
x = []
m = []
for i in l:
	a = int(i)
	m.append(a)
b = sorted(m)
for i in b:
	y = str(i)
	x.append(y)
k = '+'.join(x)
print(k)


import sys
userinput = sys.stdin.readline().rstrip().split('+')
userinput.sort()
print('+'.join(userinput))


s = input()
l = []
for i in range(len(s)):
	if s[i] != '+':
		l.append(s[i])
l.sort()
r = len(l)
st = ''
for i in range(r - 1):
	st = st + l[i] + '+'
st = st + l[r - 1]
print(st)


string = str(input())
s = string.replace('+', '')
s = sorted(s)
s = ''.join(s)
print('+'.join(s))


l = list(input())
n = len(l)
for i in range(0, n, 2):
	for j in range(i, n, 2):
		if int(l[i]) > int(l[j]):
			l[i] = str(int(l[i]) + int(l[j]))
			l[j] = str(int(l[i]) - int(l[j]))
			l[i] = str(int(l[i]) - int(l[j]))
print(''.join(l))


s = str(input())
a = str()
for i in range(0, len(s), 2):
	a += s[i]
k = sorted(a)
b = str()
for j in range(len(s)):
	if j % 2 == 0:
		b += k[int(j / 2)]
	else:
		b += s[j]
print(b)


n = input()
l = n.split('+')
l.sort()
for i in range(0, len(l)):
	if i == len(l) - 1:
		print(l[i])
	else:
		print('{}+'.format(l[i]), end='')


inp = input()
lst = list(inp.strip().split('+'))
lst = [int(x) for x in lst]
lst = sorted(lst)
ans = ''
for elem in lst:
	ans += str(elem) + '+'
print(ans[:-1])


sum = input()
numbers = []
for i in range(0, len(sum), 2):
	numbers.append(sum[i])
numbers.sort()
print('+'.join(numbers))


n = input()
x = list(n[0::2])
y = sorted(x)
z = ''
for i in y:
	z = z + i + '+'
k = z[:-1]
print(k)


arr = sorted(list(map(int, input().split('+'))))
arr = list(map(str, arr))
print('+'.join(arr))


a = sorted(input().split('+'))
for i in range(len(a)):
	if i != 0:
		print('+' + a[i], end='')
	else:
		print(a[i], end='')


from sys import stdin
array = [int(i) for i in stdin.readline().split('+')]
sort = sorted(array)
print('+'.join([str(i) for i in sort]) + '\n')


s = str(input())
z = []
for i in range(len(s)):
	if i % 2 == 0:
		z.append(int(s[i]))
z.sort()
for i in range(len(z)):
	if i != len(z) - 1:
		print(z[i], end='+')
	else:
		print(z[i])


s = input()
s1 = {'1', '2', '3'}
l = []
s2 = ''
for i in s:
	if i in s1:
		l.append(int(i))
l.sort()
s2 = s2 + str(l[0])
for i in range(1, len(l)):
	s2 = s2 + '+' + str(l[i])
print(s2)


s = input()
p = s.split('+')
for i in range(len(p)):
	p[i] = int(p[i])
p.sort()
for i in range(len(p)):
	p[i] = str(p[i])
f = ''
f = '+'.join(p)
print(f)


val = input()
oneCounter = 0
twoCounter = 0
threeCounter = 0
for c in val:
	if c == '1':
		oneCounter += 1
	elif c == '2':
		twoCounter += 1
	elif c == '3':
		threeCounter += 1
totalNumbers = oneCounter + twoCounter + threeCounter
result = ''
while totalNumbers > 0:
	if oneCounter > 0:
		result += '1'
		oneCounter -= 1
	elif twoCounter > 0:
		result += '2'
		twoCounter -= 1
	elif threeCounter > 0:
		result += '3'
		threeCounter -= 1
	if totalNumbers > 1:
		result += '+'
	totalNumbers -= 1
print(result)


import sys
from math import *
input = sys.stdin.readline
RI = lambda : [int(x) for x in sys.stdin.readline().strip().split()]
rw = lambda : input().strip().split()
from collections import defaultdict as df
import heapq
infinite = float('inf')
s = input().strip()
l = []
for i in range(0, len(s), 2):
	l.append(s[i])
l.sort()
for i in range(0, len(l) - 1):
	print(l[i], end='')
	print('+', end='')
print(l[len(l) - 1])


line = input()
lst = []
for i in range(len(line)):
	if i % 2 == 0:
		lst.append(line[i])
lst.sort()
ans = ''
for item in lst:
	ans += item + '+'
print(ans[:-1])


def sum_339A():
	numbers = [int(x) for x in input().split('+')]
	numbers.sort()
	res = ''
	for i in range(len(numbers) - 1):
		res = res + str(numbers[i]) + '+'
	return res + str(numbers[-1])
print(sum_339A())


def foo(s):
	ans = []
	for element in s:
		if element != '+':
			ans.append(element)
	ans.sort()
	return '+'.join(ans)
s = input()
print(foo(list(s)))


line = input()
line = list(line)
for i in range(len(line)):
	if line[i] == '+':
		line[i] = ''
line.sort()
line = ''.join(line)
line = list(line)
print('+'.join(line))


import sys

def solve(s):
	xs = s.split('+')
	xs.sort()
	return '+'.join(xs)

def print_stderr(*args, **kwargs):
	print(*args, file=sys.stderr, **kwargs)

def main():
	xs = input().strip()
	result = solve(xs)
	print(result)
main()


s = str(input())
l = len(s)
ts = []
ct1 = s.count('1')
ct2 = s.count('2')
ct3 = s.count('3')
for i in range(ct1):
	ts.append('1')
	ts.append('+')
for i in range(ct2):
	ts.append('2')
	ts.append('+')
for i in range(ct3):
	ts.append('3')
	ts.append('+')
for i in range(l):
	print(ts[i], end='')


text = ''.join(sorted([x for x in input()]))
text = text.replace('+', '', text.count('+'))
res = ''
for letter in text:
	res += '{0}+'.format(letter)
res = res[0:len(res) - 1]
print(res)


list1 = input().split('+')
list1.sort()
a = list1[0]
for i in range(1, len(list1)):
	a = a + '+' + list1[i]
print(a)


inp = input()
arr = list((int(x) for x in inp.split('+')))
arr.sort()
res = str()
for el in arr:
	res += str(el) + '+'
res = res[:len(res) - 1]
print(res)


str_insert = input()
list1 = str_insert.split('+')
list1_str = [str(x) for x in list1]
list1_str.sort()
list1_pluses = list('+'.join(list1_str))
list1_str2 = ''.join(list1_pluses)
print(list1_str2)


a = sorted(list(map(str, input().split('+'))))
w = ''
for i in a:
	w += i + '+'
print(w[0:-1])


str1 = input()
list1 = str1.split('+')
list2 = sorted(list1)
n = len(list2)
for i in range(n - 1):
	print(list2[i], end='+')
print(list2[n - 1])


s = input()
if len(s) == 1:
	print(s)
else:
	l = []
	st = ''
	l = ['1'] * s.count('1') + ['2'] * s.count('2') + ['3'] * s.count('3')
	for i in range((len(s) + 1) // 2 - 1):
		st += l[i]
		st += '+'
	st += l[-1]
	print(st)


arr = list(map(int, input().split('+')))
arr.sort()
f = len(arr)
g = ''
for i in range(len(arr) - 1):
	g = g + str(arr[i])
	g = g + '+'
g = g + str(arr[f - 1])
print(g)


s = input()
l = []
for i in s:
	if i != '+':
		l.append(i)
l.sort()
k = []
for j in range(len(l)):
	k.append(l[j])
	k.append('+')
print(''.join(k[:-1]))


summation = input()
list_numbers = summation.split('+')
list_numbers.sort()
lenght = len(list_numbers)
order = ''
for i in range(lenght):
	if i != lenght - 1:
		order += list_numbers[i] + '+'
	else:
		order += list_numbers[i]
print(order)


import re
import sys
lst = []
for line in sys.stdin:
	lst.append(line.rstrip('\n'))
regex = [[int(r) for r in re.findall('(\\d+)', line)] for line in lst]
convert = lambda x: '+'.join([str(y) for y in sorted(x)])
[print(convert(r)) for r in regex]


x = list(input())
y = x[:len(x) + 1:2]
y = sorted(y)
sep = '+'
s = sep.join(y)
print(s)


addition = list(map(int, input().split('+')))
addition.sort()
string = ''
for i in addition:
	string += str(i) + '+'
print(string[0:len(string) - 1])


sum = input()
list = sum.split('+')
new_list = []
for n in range(1, 4):
	for c in range(len(list)):
		if list[c] == str(n):
			new_list.append(list[c])
print('+'.join(new_list))


s = str(input())
if len(s) == 1:
	print(s)
else:
	l = list(s)
	l.sort()
	j = len(s) // 2
	print(l[j], end='')
	for k in range(j + 1, len(l)):
		print('+' + str(l[k]), end='')


inp = str(input())
a = inp.split('+')
a.sort()
print('+'.join(a))


ip = list(input().split('+'))
mylist = [int(i) for i in ip]
mylist.sort()
mylist = [str(i) for i in mylist]
if len(ip) > 1:
	ans = '+'.join(mylist)
	print(ans)
else:
	print(mylist[0])


numbers = ['', '', '', '']
for c in input():
	if c != '+':
		numbers[int(c)] += c + '+'
print(''.join(numbers)[:-1])


user_inp = input()
if '+' not in user_inp:
	print(user_inp)
else:
	user_sorting = user_inp.split('+')
	new_array = []
	for count in range(0, len(user_sorting)):
		new_array.append(user_sorting[count])
	new_array.sort()
	aa = ''
	for prt in range(0, len(new_array)):
		if prt != len(new_array) - 1:
			aa += str(new_array[prt])
			aa += '+'
		else:
			aa += str(new_array[prt])
	print(aa)


n = list(input())
l = len(n)
num = []
for i in range(l):
	if i % 2 == 0:
		num.append(int(n[i]))
num.sort()
j = 0
s = ''
for i in range(l):
	if i % 2 == 0:
		n[i] = str(num[j])
		j += 1
	s = s + n[i]
print(s)


data = input()
sorted_data = []
for i in range(len(data)):
	if data[i] != '+':
		sorted_data.append(data[i])
sorted_data.sort()
output = ''
for i in range(len(sorted_data) - 1):
	output = output + sorted_data[i] + '+'
output = output + sorted_data[len(sorted_data) - 1]
print(output)


li = input().split('+')
li.sort()
print('+'.join(li))


a = list(map(int, input().split('+')))
a.sort()
b = []
for i in a:
	b.append(str(i))
d = '+'.join(b)
print(d)


a = input()
if len(a) == 1:
	print(a)
else:
	q = ''
	q = q.join(sorted(a, reverse=False))
	q = q.strip('+')
	final = ''
	for i in q:
		final += i + '+'
	print(final[:-1])


s = input()
ss = []
for i in range(len(s)):
	if i % 2 == 0:
		ss.append(s[i])
ss.sort()
f = '+'
f = f.join(ss)
print(f)


digs = list(map(int, input().split('+')))
digs.sort()
if len(digs) == 1:
	print(digs[0])
else:
	output = ''
	for dig in digs:
		output = f'{output}+{dig}'
	print(output[1:])


a = input()
b = []
c = []
for x in a:
	if x.isdigit():
		b.append(x)
b.sort()
n = len(b) - 1
for x in b:
	c.append(x)
	if n > 0:
		c.append('+')
		n -= 1
print(''.join(c))


unsorted_input = sorted([int(x) for x in input().split('+')])
new_output = '+'.join([str(s) for s in unsorted_input])
print(new_output)


s = list(map(int, input().split('+')))
t = ''
for i in range(1, 4):
	for j in range(len(s)):
		if s[j] == i:
			t += str(i)
			t += '+'
for i in range(len(t) - 1):
	print(t[i], end='')


a = str(input())
b = []
if len(a) == 1:
	print(a)
else:
	for j in range(len(a)):
		if ord(a[j]) > 45:
			b.append(a[j])
		b.sort()
		c = b[0]
	for i in range(len(b) - 1):
		c += '+' + b[i + 1]
	print(c)


s = input()
l = s.split('+')
l = [int(i) for i in l]
l.sort()
print(*l, sep='+')


arr = list(input().split('+'))
print('+'.join(sorted(arr)))


inputs = list(map(int, input().split('+')))
print(*sorted(inputs), sep='+')


s = input()
ms = list(s)
m = []
for i in ms:
	try:
		m.append(int(i))
	except:
		continue
m = sorted(m)
answ = ''
for elem in m:
	answ += str(elem) + '+'
answ = answ[:-1]
print(answ)


n = input().split('+')
for i in range(0, len(n)):
	n[i] = int(n[i])
n.sort()
print(*n, sep='+')


inputString = list(input().split('+'))
if len(inputString) == 1:
	print(''.join(inputString))
else:
	inputString.sort()
	outputString = '+'.join(inputString)
	print(outputString)


s = input()
a = sorted(s)
while a.count('+'):
	a.remove('+')
s = '+'.join(a)
print(s)


ans = list(map(int, input().split('+')))
ans = list(sorted(ans))
ans = '+'.join(list(map(str, ans)))
print(ans)


s = [str(i) for i in input().split('+')]
s = sorted(s)
print('+'.join(s))


s = input()
li = sorted(s)
for i in range(li.count('+'), len(sorted(s)) - 1):
	print(li[i], end='')
	print('+', end='')
print(li[-1])


inp = input().split('+')
l = list(inp)
l.sort()
c = 0
for i in l:
	print(i, end='')
	if c != len(l) - 1:
		print('+', end='')
		c = c + 1


print(*sorted([int(x) for x in input().split('+')]), sep='+')


m = input()
l = []
for i in range(0, len(m), 2):
	l.append(m[i])
	l.sort()
print(*l, sep='+')


x = list(map(str, input().replace('+', ' ').strip().split()))
x.sort()
x = '+'.join(map(str, x))
print(x)


li = input()
l = li.split('+')
x = sorted(l)
print('+'.join(x))


a = input()
a = ' '.join(a)
a = a.split()
if len(a) > 1:
	for i in range(1, len(a) // 2 + 1):
		del a[i]
	a.sort()
	b = ''
	for x in range(len(a) - 1):
		b = b + a[x] + '+'
	b = b + a[-1]
	print(b)
else:
	print(a[0])


initial = input()
answer = ''
mylist = initial.split('+')
mylist.sort()
for i in mylist:
	answer += i
	answer += '+'
answer = answer[:-1]
print(answer)


fhf = input()
df = fhf.split('+')
for i in range(0, len(df)):
	df[i] = int(df[i])
df.sort()
for i in range(0, len(df)):
	df[i] = str(df[i])
print('+'.join(df))


n = input().split('+')
l = []
for i in n:
	x = int(i)
	l.append(x)
s = sorted(l)
print(*s, sep='+')


x = input()
numbers = []
for i in range(len(x)):
	if x[i].isdigit():
		numbers.append(int(x[i]))
numbers.sort()
y = ''
for i in range(len(numbers)):
	y += str(numbers[i]) + '+'
print(y[0:-1])


a = input()
l = list(a)
k = []
for i in range(len(l)):
	if l[i] != '+':
		k.append(l[i])
k.sort()
s = k[0]
if len(k) == 1:
	print(s)
else:
	for i in range(1, len(k)):
		s += '+' + k[i]
	print(s)


cal = str(input())
long = len(cal)
list1 = list()
for x in cal:
	if x is not '+':
		list1.append(x)
list1.sort(reverse=False)
n = 0
lim = (long + 1) / 2
while n <= lim - 1:
	if n < lim - 1:
		print(list1[n], end='+')
		n = n + 1
	elif n == lim - 1:
		print(list1[n])
		break


s = input()
l = list(map(int, s.split('+')))
if '+' not in s:
	print(s)
else:
	l.sort()
	print('+'.join((str(i) for i in l)))


a = input()
b = a.split('+')
c = sorted(b)
for i in range(0, len(c) - 1):
	print(c[i] + '+', end='')
print(c[-1])


summa = list(map(int, input().split('+')))
summa = sorted(summa)
ans = ''
N = len(summa)
for k in range(N):
	ans += str(summa[k])
	if k == N - 1:
		break
	else:
		ans += '+'
print(ans)


print('+'.join(sorted(input().split(sep='+'))))


l = list(map(int, input().split('+')))
l = sorted(l)
l = l = list(map(str, l))
print('+'.join(l))


n = str(input())
l = []
for i in n:
	if i != '+':
		l.append(int(i))
l.sort()
for i in range(len(l)):
	if i != len(l) - 1:
		l[i] = str(l[i]) + '+'
	print(l[i], end='')


expression = list(map(int, input().split('+')))
expression.sort()
print(str(expression)[1:-1].replace(', ', '+'))


nums = sorted(map(int, input().split('+')))
print('+'.join(map(str, nums)))


s = list(input().split('+'))
s.sort()
print('+'.join(s))


a = input().split('+')
n = 0
num = [0 for i in range(100000)]
for i in a:
	n += 1
	num[n] = int(i)
for i in range(1, n):
	for j in range(i + 1, n + 1):
		if num[i] > num[j]:
			temp = num[i]
			num[i] = num[j]
			num[j] = temp
for i in range(1, n + 1):
	print(num[i], end='')
	if i < n:
		print('+', end='')
print()


a = str(input())
c = []
for i in range(0, len(a), 2):
	c.append(a[i])
c.sort()
for i in range(len(c)):
	if i == len(c) - 1:
		print(c[i])
	else:
		print(c[i], end='+')


lst = list(input())
lst.sort()
lst = lst[int(len(lst) / 2):]
for i in range(len(lst)):
	if i != len(lst) - 1:
		print(lst[i], end='+')
	else:
		print(lst[i])


perv = input()
e = list()
for i in perv:
	if i == '+':
		continue
	else:
		e.append(i)
e.sort()
print('+'.join(e))


st = input()
lis = st.split('+')
nums = []
for i in lis:
	nums.append(int(i))
nums.sort()
for i in range(len(nums) - 1):
	print(nums[i], end='+')
print(nums[len(nums) - 1])


x = input()
l = list(x)
for i in l:
	if i == '+':
		l.remove(i)
l.sort()
y = l[len(l) - 1]
l.remove(y)
res = ''
for i in l:
	res += i
	res += '+'
res += y
print(res)


s = input()
sol = ''
sol += '1' * s.count('1')
sol += '2' * s.count('2')
sol += '3' * s.count('3')
print('+'.join(sol))


n = input().split('+')
l = []
for i in range(len(n)):
	l.append(int(n[i]))
l.sort()
x = '+'
for i in range(len(l)):
	if i == len(l) - 1:
		x = ''
	print(l[i], end=x)


s = input()
ss = ''
for i in range(0, len(s), 2):
	ss += s[i]
	new = sorted(ss)
print('+'.join(new))


strings = list(input())
strings.sort()
while '+' in strings:
	strings.remove('+')
inteiros = [int(val) for val in strings]
n = len(inteiros)
for (i, v) in enumerate(inteiros):
	if i < n - 1:
		print(inteiros[i], end='+')
	else:
		print(inteiros[i])


numeros = [int(i) for i in input().split('+')]
numeros.sort()
print(*numeros, sep='+')


s = list(input())
while '+' in s:
	s.remove('+')
s.sort()
s = '+'.join(s)
print(s)


def sort(alist):
	iteration = 0
	while iteration < len(alist):
		lowestindex = iteration
		i = iteration
		while i < len(alist):
			if alist[i] < alist[lowestindex]:
				lowestindex = i
			i += 1
		temp = alist[lowestindex]
		alist[lowestindex] = alist[iteration]
		alist[iteration] = temp
		iteration += 1
	return alist
s = input()
s = s.split('+')
s = list(map(int, s))
s = sort(s)
printstring = ''
i = 0
while i < len(s):
	printstring += str(s[i])
	if i < len(s) - 1:
		printstring += '+'
	i += 1
print(printstring)


def main():
	s = input()
	ls = []
	for i in s:
		if i.isnumeric():
			ls.append(i)
	ls.sort()
	print('+'.join((str(i) for i in ls)))
main()


st = input()
lst = []
for i in st:
	lst.append(i)
for i in lst:
	if i == '+' or i == '+':
		lst.remove('+')
lst2 = sorted(list(map(int, lst)))
lst3 = list(map(str, lst2))
s = '+'
print(s.join(lst3))


x = list(map(int, input().split('+')))
x = sorted(x)
print('+'.join((str(y) for y in x)))


arr = list(map(str, input().strip().split('+')))
arr.sort()
ans = '+'.join(arr)
print(ans)


a = list(input().split('+'))

def solve(a):
	a.sort()
	b = ''
	for each in a:
		b += f'{each}+'
	print(b[0:-1])
solve(a)


s = input()
for i in s:
	if i == '+':
		s = s.replace(i, '')
s = sorted(s)
for i in range(1, 2 * len(s) - 1, 2):
	s.insert(i, '+')
print(''.join(s))


string = input()
if len(string) < 3:
	print(string)
else:
	print('+'.join(sorted(string.split('+'))))


a = list(input())
b = list((a[2 * x] for x in range(1 + len(a) // 2)))
b.sort()
for x in range(len(b)):
	if x != len(b) - 1:
		print(b[x], end='+')
	else:
		print(b[x])


n = [x for x in input().split('+')]
n.sort()
listToStr = '+'.join([str(elem) for elem in n])
print(listToStr)


a = input().split('+')
list1 = sorted(a, key=lambda x: int(x))
for i in range(len(list1)):
	if i != len(list1) - 1:
		print(list1[i], end='+')
	else:
		print(list1[i])


n = list(map(int, input().split('+')))
n.sort()
for i in range(len(n)):
	if i == len(n) - 1:
		print(n[i])
	else:
		print('%d+' % n[i], end='')


import re
str = input()
x = re.split('[+]', str)
x.sort(key=int)
out = ''
for i in x[:len(x) - 1]:
	out += i + '+'
out += x[-1]
print(out)


user_input = input()
if '+' not in user_input:
	print(user_input)
else:
	user_sorting = user_input.split('+')
	new_array = []
	for count in range(0, len(user_sorting)):
		new_array.append(user_sorting[count])
	new_array.sort()
	b = ''
	for prt in range(0, len(new_array)):
		if prt != len(new_array) - 1:
			b += str(new_array[prt])
			b += '+'
		else:
			b += str(new_array[prt])
	print(b)


import sys
s = input()
c = ''
for i in range(0, len(s), 2):
	c += s[i]
	f = sorted(c)
for j in range(0, len(f) - 1, 1):
	sys.stdout.write(f[j] + '+')
print(f[-1])


a = input()
c1 = a.count('1')
c2 = a.count('2')
c3 = a.count('3')
c = True
for i in range(c1):
	if not i:
		print('1', end='')
	else:
		print('+1', end='')
	c = False
for i in range(c2):
	if not i and c:
		print('2', end='')
	else:
		print('+2', end='')
	c = False
for i in range(c3):
	if not i and c:
		print('3', end='')
	else:
		print('+3', end='')


x = input().split('+')
x.sort()
a = list()
for no in x:
	a.append(no)
	a.append('+')
y = len(a)
for j in range(y - 1):
	print(a[j], end='')


line = input()
line = line.split('+')
line.sort()
str = ''
if len(line) == 1:
	print(line[0])
else:
	for i in range(0, len(line) - 1):
		str += line[i]
		str += '+'
	str += line[len(line) - 1]
	print(str)


m = input()
n1 = n2 = n3 = 0
for i in range(0, len(m), 2):
	if m[i] == '1':
		n1 += 1
	elif m[i] == '2':
		n2 += 1
	else:
		n3 += 1
mm = '1+' * n1 + '2+' * n2 + '3+' * n3
print(mm[:-1])


n = list(input().replace('+', ''))
n = sorted(n)
c = '+'.join(n)
print(c)


line = sorted(map(int, input().split('+')))
line = map(str, line)
print('+'.join(line))


array = input().split('+')
array.sort()
res = []
for _ in array:
	res.append(_)
	res.append('+')
for _ in res[:-1]:
	print(_, end='')


numbers = sorted(map(int, input().split('+')))
result = ''
for i in range(len(numbers)):
	if i == len(numbers) - 1:
		result += str(numbers[i])
	else:
		result += str(numbers[i]) + '+'
print(result)


s = list(input().split('+'))
s = sorted(s)
for x in range(len(s) - 1):
	print(s[x], end='+')
print(s[len(s) - 1])


x = input()
b = [int(x) for x in x.split('+')]
b = sorted(b)
for i in range(len(b) - 1):
	print(b[i], end='+')
print(b[len(b) - 1])


lst = list(map(str, input().split('+')))
lst.sort()
s = str('+'.join(lst))
print(s)


s = input()
arr = s.split('+')
arr.sort()
out = ''
for x in arr:
	out += x + '+'
print(out[0:len(out) - 1])


a = input()
a = a.replace('+', '')
a = list(a)
a.sort()
a = '+'.join(a)
print(a)


nums = input().split('+')
nums.sort()
string = ''
for i in nums:
	string += i + '+'
string = string[:len(string) - 1]
print(string)


s = input()
s = s.replace('+', '')
s = list(s)
for i in range(len(s)):
	s[i] = int(s[i])
s.sort()
for i in range(len(s)):
	s[i] = str(s[i])
str1 = []
for i in range(len(s) - 1):
	str1.append(s[i])
	str1.append('+')
str1.append(s[len(s) - 1])
s = ''
s = s.join(str1)
print(s)


from sys import stdin

def main():
	li = sorted(stdin.readline().rstrip().split('+'))
	z = len(li)
	st = li[0]
	for i in range(1, z):
		st = st + '+' + li[i]
	print(st)
main()


s = input()
s_l = list(s)
for x in s:
	if x == '+':
		s_l.remove(x)
s_l.sort()
print(*s_l, sep='+')


operation = input().split('+')
operation.sort()
print('+'.join(operation))


str = input()
str2 = str.split('+')
str3 = sorted(str2)
str4 = '+'.join(str3)
print(str4)


l = list(map(int, input().split('+')))
l = sorted(l)
i = 0
while i < len(l):
	print(l[i], end='')
	if i != len(l) - 1:
		print('+', end='')
	i += 1


string = input()
if len(string) > 1:
	result_str = sorted(string.split('+'))
	print('+'.join(result_str))
else:
	print(string)


def main():
	expression = input()
	values = expression.split('+')
	values = list(map(int, values))
	values.sort()
	final_expression = ''
	for num in values:
		final_expression += str(num) + '+'
	final_expression = final_expression.rstrip('+')
	print(final_expression)
main()


a = input()[::2]
a = [''.join(str(x)) for x in sorted([int(x) for x in a])]
a = '+'.join(a)
print(a)


s = input()
s1 = s.count('1')
s2 = s.count('2')
s3 = s.count('3')
rez = '1+' * s1 + '2+' * s2 + '3+' * s3
print(rez[0:-1])


from collections import Counter as count
n = input()
string = ''
for (k, v) in sorted(count(n).items()):
	if k != '+':
		for i in range(0, v):
			string += '+' + k
print(string[1:])


arr = list(map(int, input().split('+')))
x = arr[0]
for i in range(len(arr)):
	for i in range(1, len(arr)):
		if arr[i] < arr[i - 1]:
			x = arr[i - 1]
			arr[i - 1] = arr[i]
			arr[i] = x
for i in range(len(arr)):
	arr[i] = str(arr[i])
print('+'.join(arr))


s = input()
m = ''
z = []
j = 0
k = 0
temp = 0
for i in s:
	if i != '+':
		z.append(int(i))
while j < len(z):
	k = j + 1
	while k < len(z):
		if z[j] > z[k]:
			temp = z[j]
			z[j] = z[k]
			z[k] = temp
		k += 1
	j += 1
j = 0
while j < len(z) - 1:
	m += f'{z[j]}+'
	j += 1
m += f'{z[len(z) - 1]}'
print(m)


sum = input()
numbers = sum.split('+')
numbers.sort()
output = numbers[0]
i = 1
while i < len(numbers):
	output += '+' + numbers[i]
	i += 1
print(output)


n = input()
o = []
p = []
for char in n:
	if char is '+':
		continue
	else:
		o.append(char)
o.sort()
m = int(len(o))
for i in range(m - 1):
	p.append(o[i])
	p.append('+')
p.append(o[-1])
print(''.join(p))


ip1 = input().strip().split('+')
ip1.sort()
print('+'.join(ip1))


s = input()
LIST = [0 for _ in range((len(s) + 1) // 2)]
for i in range((len(s) + 1) // 2):
	LIST[i] = s[2 * i]
LIST = sorted(LIST)
sum = LIST[0]
for j in range(1, (len(s) + 1) // 2):
	sum = str(sum) + '+' + str(LIST[j])
print(sum)


s = map(int, input().split('+'))
print('+'.join(map(str, sorted(s))))


import math, fractions
s = [str(x) for x in input().split('+')]
s.sort()
print('+'.join(s))


s = input()
n = []
for i in range(0, len(s), 2):
	n.append(int(s[i]))
n = sorted(n)
s = ''
for i in range(len(n)):
	s += str(n[i]) + '+'
print(s[:-1])


line = input()
digits = list(map(int, line.split('+')))
digits.sort()
res = ''
for i in range(len(digits) - 1):
	res += str(digits[i])
	res += '+'
res += str(digits[len(digits) - 1])
print(res)


s = input()
s = sorted(s[::2])
print(*s, sep='+')


stri = input()
arr = []
for i in stri:
	if i != '+':
		arr.append(int(i))
arr = sorted(arr)
for i in range(len(arr)):
	print(str(arr[i]), end='')
	if i < len(arr) - 1:
		print('+', end='')


n = [x for x in input().split('+')]
n = sorted(n)
print('+'.join(n))


word = input().split('+')
new_word = sorted(word)
c_word = '+'.join(new_word)
print(c_word)


def merge(a, b):
	a_ind = 0
	b_ind = 0
	res = []
	while a_ind < len(a) and b_ind < len(b):
		if a[a_ind] < b[b_ind]:
			res.append(a[a_ind])
			a_ind += 1
		else:
			res.append(b[b_ind])
			b_ind += 1
	res += a[a_ind:] + b[b_ind:]
	return res

def merge_sort(L):
	if len(L) <= 1:
		return L
	left_part = L[:len(L) // 2]
	right_part = L[len(L) // 2:]
	return merge(merge_sort(left_part), merge_sort(right_part))
L = [int(i) for i in input().split('+')]
L1 = merge_sort(L)
print('+'.join([str(i) for i in L1]))


str1 = ' '
sum_equation = input().split('+')
sum_equation = [int(i) for i in sum_equation]
sum_equation.sort()
finalequation = []
for i in range(len(sum_equation)):
	finalequation.append(str(sum_equation[i]) + '+')
finalequation = str1.join(finalequation)
finalequation = finalequation.replace(' ', '')
finalequation = finalequation[:-1]
print(finalequation)


s = list(input())
a = s.count('+')
for i in range(a):
	s.remove('+')
s.sort()
print(*s, sep='+')


seq = input('').split('+')
seq.sort()
print('+'.join(seq))


s = input()
lst = list()
for i in s:
	if i.isnumeric():
		lst.append(i)
print('+'.join(sorted(lst)))


a = input()
b = []
for i in range(0, len(a)):
	if a[i] == '1':
		b.append('1')
	elif a[i] == '2':
		b.append('2')
	elif a[i] == '3':
		b.append('3')
b.sort()
for i in range(0, len(b) - 1):
	print(b[i], end='')
	print('+', end='')
print(b[len(b) - 1])


s = input()
s = s.replace('+', '')
arr = list(map(int, list(s)))
arr.sort()
arr = list(map(str, arr))
print('+'.join(arr))


a = input()
lst = a.split('+')
lst = sorted(lst)
for i in range(0, len(lst)):
	print(lst[i], end='')
	if i < len(lst) - 1:
		print('+', end='')


s = str(input())
final = []
b = ''
a = list(map(str, s))
l = []
for i in range(0, len(a)):
	if a[i] != '+':
		b = b + a[i]
	else:
		l.append(b)
		b = ''
if b != '':
	l.append(b)
l = list(map(int, l))
l.sort()
r = len(l)
b = ''
for i in range(0, r - 1):
	b = b + str(l[i]) + '+'
b = b + str(l[r - 1])
print(b)


numbers = list(map(int, input().split('+')))
numbers.sort()
print('+'.join(list(map(str, numbers))))


n = input()
l = list(n)
g = []
for i in range(0, len(l), 2):
	g.append(l[i])
g.sort()
print('+'.join(map(str, g)))


s = input().split('+')
s.sort()
a = '+'.join(s)
for i in a:
	print(i, end='')


suma = input()
arrNums = suma.split('+')
arrNums.sort()
newStr = ''
for i in range(0, len(arrNums)):
	if i != len(arrNums) - 1:
		plusSign = '+'
	else:
		plusSign = ''
	newStr += arrNums[i] + plusSign
print(newStr)


s = input()
n = len(s)
l = []
for i in range(0, n, 2):
	l.append(s[i])
allnum = len(l)
newlist = []
num1 = l.count('1')
num2 = l.count('2')
num3 = l.count('3')
newlist = []
b = 1
while b <= num1:
	newlist.append(1)
	b += 1
c = 1
while c <= num2:
	newlist.append(2)
	c += 1
d = 1
while d <= num3:
	newlist.append(3)
	d += 1
string = ''
counter = 0
while counter <= allnum - 1:
	string = string + '+' + str(newlist[counter])
	counter += 1
print(string[1:])


arr = input().split('+')
n = len(arr)
for i in range(n):
	arr[i] = int(arr[i])
arr_ = sorted(arr)
stree = str()
for i in range(n):
	stree += str(arr_[i]) + '+'
print(stree[:n + n - 1])


import sys
suma = sys.stdin.read().strip()
result = ''
suma = suma.split('+')
count1 = suma.count('1')
count2 = suma.count('2')
count3 = suma.count('3')
for i in range(0, count1):
	result += '1+'
for i in range(0, count2):
	result += '2+'
for i in range(0, count3):
	result += '3+'
result = result.rstrip('+')
print(result)


s = input()
z = ''
for i in s:
	if i.isdigit():
		z += i
r = '+'.join(sorted(z))
print(r)


string = input()
if len(string) == 0:
	print(string)
else:
	A = []
	for i in range(len(string) // 2):
		A.append(string[i * 2])
	A.append(string[len(string) - 1])
	A.sort()
	print('+'.join(A))


s = input()
a = []
for char in s:
	if char == '+':
		continue
	else:
		a.append(char)
a.sort()
print('+'.join(a))


(ans, t) = ('', input())
p = [0] * 4
for i in range(0, len(t), 2):
	p[int(t[i])] += 1
for i in range(1, 4):
	k = str(i) + '+'
	for j in range(p[i]):
		ans += k
print(ans[:-1])


s = input().split(sep='+')
s.sort()
x = []
for i in s:
	x.append(i)
print(f"{'+'.join(x)}")


initial_list = list(map(str, input().split('+')))
initial_list.sort()
print('+'.join(initial_list))


_sum = list(map(int, input().split('+')))
_ssum = sorted(_sum)
print('+'.join(map(str, _ssum)))


math_input = list(map(int, input().split('+')))
math_input_sorted = list(map(str, sorted(math_input)))
math_input = '+'.join(sorted(math_input_sorted))
print(math_input)


A = input()
A = A.split('+')
A.sort()
Mensaje = ''
for k in range(0, len(A)):
	Mensaje += A[k]
	if k == len(A) - 1:
		Mensaje = Mensaje
	else:
		Mensaje += '+'
print(Mensaje)


s = input()
x_list = sorted(s.split('+'))
print(x_list[0], end='')
for i in range(1, len(x_list)):
	print('+' + x_list[i], end='')


def in_sort(arr):
	for i in range(1, len(arr)):
		key = arr[i]
		j = i - 1
		while j >= 0 and key < arr[j]:
			arr[j + 1] = arr[j]
			j -= 1
		arr[j + 1] = key
s = input().split('+')
in_sort(s)
print('+'.join(s))


def main():
	string = input()
	s = []
	for i in string:
		if i != '+':
			s.append(int(i))
	s.sort()
	for i in range(len(s) - 1):
		print(str(s[i]), end='')
		print('+', end='')
	print(str(s[-1]))
main()


w = input()
y = ''
w = w.split('+')
w = sorted(w)
s = len(w)
for i in range(0, s):
	y = y + w[i] + '+'
print(y[0:-1])


s = input()
s_list = s.split('+')
if len(s_list) > 1:
	print('+'.join(sorted(s_list)))
else:
	print(s)


eq = input().split('+')
eq.sort()
print('+'.join(eq))


print('+'.join(sorted([i for i in input().replace('+', '')])))


a = input()
l = len(a)
f = 0
b = a.split('+')
c = []
for i in b:
	c.append(int(i))

def insertion_sort(InputList):
	for i in range(1, len(InputList)):
		j = i - 1
		nxt_element = InputList[i]
		while InputList[j] > nxt_element and j >= 0:
			InputList[j + 1] = InputList[j]
			j = j - 1
		InputList[j + 1] = nxt_element
insertion_sort(c)
d = '+'.join((str(i) for i in c))
print(d)


string1 = input()
print('+'.join(sorted(string1.split('+'))))


def list_to_string(m):
	str1 = ''
	return str1.join(m)
s = input()
c = []
m = []
for i in range(len(s)):
	if i % 2 == 0:
		c = c + [int(s[i])]
c.sort()
for i in range(len(s)):
	if i % 2 == 0:
		m = m + [str(c[i // 2])]
	else:
		m = m + ['+']
print(list_to_string(m))


import sys

def Q7(string):
	num = string.split('+')
	num.sort()
	res = '+'.join(num)
	return res
line = sys.stdin.readline().strip()
print(Q7(line))


inp = str(input()).split('+')
print('+'.join(sorted(inp)))


input_str = input()
print('+'.join(sorted(input_str.split('+'))))


st = input()
i = 0
newSt = []
while i != len(st):
	if st[i] != '+':
		newSt.append(st[i])
	i = i + 1
newSt.sort()
j = 0
final = []
while j != len(newSt):
	final.append(newSt[j])
	if len(newSt) != 1 and j + 1 < len(newSt):
		final.append('+')
	j = j + 1
final = ''.join(final)
print(final)


string = str(input())
numbers = []
newString = ''
for i in range(len(string)):
	if i % 2 == 0:
		numbers += string[i]
numbers.sort()
for i in range(0, len(numbers)):
	newString += numbers[i]
	if i != len(numbers) - 1:
		newString += '+'
print(newString)


inp = input()
data = inp.split('+')
data.sort()
print('+'.join(data))


a = input('')
l = []
k = []
for i in range(0, len(a), 2):
	l.append(a[i])
l.sort()
for i in range((len(a) + 1) // 2):
	k.append(l[i])
	if i != (len(a) + 1) // 2 - 1:
		k.append('+')
for i in range(len(a)):
	print(k[i], end='')


s = input()
if len(s) == 1:
	print(s)
else:
	arr = s.split('+')
	arr = sorted(arr)
	print('+'.join(arr))


list1 = [int(i) for i in input().split('+')]
list1.sort()
print('+'.join([str(i) for i in list1]))


s = input().split('+')
one = two = three = 0
fin = ''
for char in s:
	if char == '1':
		one += 1
	elif char == '2':
		two += 1
	else:
		three += 1
for i in range(0, one):
	fin += '1+'
for i in range(0, two):
	fin += '2+'
for i in range(0, three):
	fin += '3+'
fin = fin[:-1]
print(fin)


s = str(input())
l = []
for i in s:
	if i != '+':
		l.append(int(i))
l = list(sorted(l))
s1 = ''
for i in range(0, len(l)):
	if i != len(l) - 1:
		s1 += str(l[i]) + '+'
	else:
		s1 += str(l[i])
print(s1)


lst = []
n = input()
for i in range(len(n)):
	s = n[i]
	if s.isdigit():
		lst.append(int(n[i]))
lst.sort()
for i in range(len(lst) - 1):
	print('%d+' % lst[i], end='')
print(lst[-1])


s = input()
s2 = s.split('+')
for i in range(len(s2)):
	for j in range(len(s2) - 1):
		if s2[j] > s2[j + 1]:
			temp = s2[j + 1]
			s2[j + 1] = s2[j]
			s2[j] = temp
for i in range(len(s2)):
	if i == len(s2) - 1:
		print(s2[i])
	else:
		print(s2[i], end='+')


a = list(input())
i1 = []
i2 = []
i3 = []
for i in a:
	if i == '1':
		i1.append(i)
		i1.append('+')
	if i == '2':
		i2.append(i)
		i2.append('+')
	if i == '3':
		i3.append(i)
		i3.append('+')
k = i1 + i2 + i3
del k[-1]
for i in k:
	print(i, end='')


var = input().split('+')
var.sort()
test = '+'.join(var)
print(test)


a = input()
k = a.split('+')
k.sort()
p = '+'.join(k)
print(p)


su = list(input().split('+'))
su.sort()
print(*su, sep='+')


str = input()
lst = []
for i in str:
	if i.isnumeric():
		lst.append(i)
	lst.sort()
for i in range(len(lst)):
	if i != len(lst) - 1:
		print(lst[i], end='+')
	else:
		print(lst[i])


nums = input().split('+')
nums = list(nums)
nums = sorted(nums)
for i in range(len(nums)):
	if i == len(nums) - 1:
		print(nums[i], end='')
	else:
		print(nums[i], end='+')


s = input()
list = []
for item in s:
	if item != '+':
		list.append(item)
list.sort()
print('+'.join(list))


n1 = input()
print('+'.join(sorted(list(n1))[len(n1) // 2:]))


j = str(input())
list1 = j.split('+')
len1 = j.split('+')
res = []
while list1:
	minimum = list1[0]
	for x in list1:
		if x < minimum:
			minimum = x
	res.append(minimum)
	list1.remove(minimum)
f = ''
count = 0
while count < len(res):
	if count == len(res) - 1 or len(res) == 1:
		f = f + res[count]
	else:
		f = f + res[count] + '+'
	count += 1
print(f)


s = input()
lst = s.split('+')
nlst = [int(i) for i in lst]
alst = sorted(nlst)
alst = [str(i) for i in alst]
ns = '+'.join(alst)
print(ns)


num = sorted(input().split('+'))
o = ''
for i in range(len(num)):
	o += num[i]
	if i != len(num) - 1:
		o += '+'
print(o)


entrada = input().split('+')
entrada = list(map(int, entrada))
entrada.sort()
entrada = list(map(str, entrada))
print('+'.join(entrada))


string = input()
arr = []
arr1 = []
for i in range(0, len(string)):
	if string[i].isnumeric() == True:
		arr.append(string[i])
arr.sort()
for i in range(0, len(arr)):
	arr1.append(arr[i])
	arr1.append('+')
arr1.pop()
arr1 = ''.join(arr1)
print(arr1)


a = sorted(input().replace('+', ''))
for i in range(len(a) - 1):
	a[i] = str(a[i]) + '+'
print(''.join(a))


s = list(input())
l = int(len(s) // 2)
for i in range(l):
	s.remove('+')
s.sort()
for i in range(len(s) - 1):
	print(s[i], end='+')
print(s[l])


s = input()
l = list(s)
a = []
for i in l:
	if i.isdigit():
		a.append(i)
a.sort()
for i in range(len(a) - 1):
	print(a[i] + '+', end='')
print(a[-1])


def divide(unsorted, low, to):
	if low < to:
		mid = (low + to) // 2
		divide(unsorted, low, mid)
		divide(unsorted, mid + 1, to)
		merge(unsorted, low, mid, to)

def merge(unsorted, low, mid, to):
	leftPointer = low
	rightPointer = mid + 1
	extra = []
	while leftPointer <= mid or rightPointer <= to:
		if leftPointer > mid:
			extra.append(unsorted[rightPointer])
			rightPointer += 1
		elif rightPointer > to:
			extra.append(unsorted[leftPointer])
			leftPointer += 1
		elif unsorted[leftPointer] < unsorted[rightPointer]:
			extra.append(unsorted[leftPointer])
			leftPointer += 1
		else:
			extra.append(unsorted[rightPointer])
			rightPointer += 1
	for i in range(low, to + 1):
		unsorted[i] = extra[i - low]

def helpXenia(sum):
	nums = sum.split('+')
	divide(nums, 0, len(nums) - 1)
	return '+'.join(nums)
sum = input()
print(helpXenia(sum))


x = input()
list = []
s = ''
p = ''
for i in range(len(x)):
	if x[i] != '+':
		list.append(x[i])
list.sort()
for j in list:
	s += str(j)
	s += '+'
for k in range(len(s) - 1):
	p += s[k]
print(p)


string = input()
mylist = list(string[::2])
mylist.sort()
for i in range(len(mylist) - 1):
	print(mylist[i] + '+', end='')
print(mylist[len(mylist) - 1])


s = input()
o = list(s)
l = len(o)
c = []
for i in range(0, l + 1, 2):
	x = o[i]
	c.append(x)
c.sort()
l = len(c)
for i in range(0, l):
	if i < l - 1:
		print(c[i] + '+', end='')
	else:
		print(c[i], end='')


n = input().split('+')
n = sorted(n)
if len(n) > 1:
	print('+'.join(n))
else:
	print(n[0])


n = list(map(int, input().split(sep='+')))
n.sort()
n = list(map(str, n))
print('+'.join(n))


s = input()
L = []
for ch in s:
	if ch != '+':
		L.append(ch)
L.sort()
print('+'.join(L))


from collections import Counter
freq = sorted(input().split('+'))
print('+'.join((i for i in freq)))


s = input()
a = []
for i in s:
	if i != '+':
		a.append(int(i))
a.sort()
s1 = ''
for j in a:
	s1 += str(j)
	s1 += '+'
print(s1[0:len(s1) - 1])


stringOfNumbers = input()
numbers = []
for letter in stringOfNumbers:
	if letter.isnumeric():
		numbers.append(letter)
sortedNumbers = sorted(numbers)
i = 0
while i < len(sortedNumbers):
	print(sortedNumbers[i], end='')
	if i < len(sortedNumbers) - 1:
		print('+', end='')
	i = i + 1


x = input()
a = x.count('1')
b = x.count('2')
c = x.count('3')
arr = []
for i in range(a):
	arr.append('1')
	arr.append('+')
for i in range(b):
	arr.append('2')
	arr.append('+')
for i in range(c):
	arr.append('3')
	arr.append('+')
if arr[-1] == '+':
	arr.pop(-1)
print(''.join(arr))


n = list(map(int, input().split('+')))
n.sort()
print(*n, sep='+')


n = input()
temp = n.replace('+', '')
temp = sorted(temp)
print('+'.join(temp))


s = input()
ss = list(s.replace('+', ''))
ss.sort()
s = ''
for i in range(len(ss) - 2, -1, -1):
	ss.insert(i + 1, '+')
s = ''.join(map(str, ss))
print(s)


lst = input().split('+')
output1 = ''
output2 = ''
output3 = ''
for i in lst:
	if i == '1':
		output1 += '1+'
	elif i == '2':
		output2 += '2+'
	else:
		output3 += '3+'
print((output1 + output2 + output3)[0:2 * len(lst) - 1])


problem = input()
if problem.isnumeric():
	inprob = int(problem)
	print(inprob)
	exit()
onecount = problem.count('1')
twocount = problem.count('2')
threecount = problem.count('3')
output_problem = '1+' * onecount + '2+' * twocount + '3+' * threecount
if output_problem.count('+') == onecount + twocount + threecount:
	output_problem = output_problem[:len(output_problem) - 1]
print(output_problem)


n = input()
sequence = []
for i in range(0, len(n), 2):
	sequence.append(n[i])
will = sorted(sequence)
print('+'.join(will))


summands = []
line = input()
for i in line:
	if i is '+':
		pass
	elif int(i) >= 0 and int(i) <= 9:
		summands.append(i)
summands.sort()
for i in summands[:-1]:
	print(i + '+', end='')
print(summands[-1])


x = input()
list = []
for n in x:
	if n != '+':
		list.append(int(n))
s = sorted(list)
toPrint = ''
for i in range(len(s)):
	if i != len(s) - 1:
		toPrint += str(s[i]) + '+'
	else:
		toPrint += str(s[i])
print(toPrint)


s = input().rstrip().split('+')
if len(s) == 1:
	print(s[0])
else:
	s.sort(key=int)
	C = '+'.join(s)
	print(C)


data = input().split('+')

def merge_sort(data):
	middle = int(len(data) / 2)
	if len(data) > 1:
		dataLeft = merge_sort(data[0:middle])
		dataRight = merge_sort(data[middle:])
		left = 0
		right = 0
		tempArr = []
		while left < middle or right < len(dataRight):
			if left == middle:
				for i in range(right, len(dataRight)):
					tempArr.append(dataRight[i])
					right += 1
				break
			if right == len(dataRight):
				for i in range(left, middle):
					tempArr.append(dataLeft[i])
					left += 1
				break
			if dataLeft[left] <= dataRight[right]:
				tempArr.append(dataLeft[left])
				left += 1
			else:
				tempArr.append(dataRight[right])
				right += 1
		return tempArr
	else:
		return data
data = merge_sort(data)
res = data[0]
for i in range(len(data) - 1):
	res += '+'
	res += data[i + 1]
print(res)


origin = [int(x) for x in input().split('+')]
origin.sort()
for i in origin[:-1]:
	print(i, end='+')
print(origin[-1])


numString = list(map(int, input().split('+')))
numString.sort()
print(*numString, sep='+')


def fillArray(operation, intArray):
	for value in operation:
		if value != '+':
			intArray.append(value)

def modifyOperation(intArray, newOperation):
	for value in intArray:
		newOperation.append(value)
		newOperation.append('+')

def main():
	intArray = []
	newOperation = []
	operation = input()
	fillArray(operation, intArray)
	intArray.sort()
	modifyOperation(intArray, newOperation)
	newOperation.pop()
	result = ''.join(newOperation)
	print(result)
main()


from collections import defaultdict
line = input().split('+')
d = defaultdict(int)
for n in line:
	d[n] += 1
result = []
for i in range(1, 4):
	for j in range(d[str(i)]):
		result.append(str(i))
print('+'.join(result))


def help():
	list = input().split('+')
	list.sort(key=int)
	for i in range(len(list)):
		print(list[i], end='')
		if i < len(list) - 1:
			print('+', end='')
		else:
			return False
help()


str = input()
a = int(str.count('1'))
b = int(str.count('2'))
c = int(str.count('3'))
if a == 0 and b == 0:
	print('3+' * (c - 1), end='3')
if a == 0 and b != 0:
	print('2+' * (b - 1), end='2')
	print('+3' * c)
if a != 0:
	print('1+' * (a - 1), end='1')
	print('+2' * b, end='')
	print('+3' * c)


s = input()
a = 0
b = 0
c = 0
for i in range(0, len(s)):
	if s[i] == '1':
		a = a + 1
	if s[i] == '2':
		b = b + 1
	if s[i] == '3':
		c = c + 1
s1 = ''
n = 0
while a > 0:
	if n % 2 == 0:
		s1 = s1 + '1'
		n = n + 1
		a = a - 1
	if n % 2 == 1:
		s1 = s1 + '+'
		n = n + 1
while b > 0:
	if n % 2 == 0:
		s1 = s1 + '2'
		n = n + 1
		b = b - 1
	if n % 2 == 1:
		s1 = s1 + '+'
		n = n + 1
while c > 0:
	if n % 2 == 0:
		s1 = s1 + '3'
		n = n + 1
		c = c - 1
	if n % 2 == 1:
		s1 = s1 + '+'
		n = n + 1
if s1[len(s1) - 1] == '+':
	s1 = s1[0:len(s1) - 1]
print(s1)


string = input()
list = string.split('+')
string1 = ''.join(list)
list1 = []
for i in string1:
	list1.append(int(i))
list1.sort()
list2 = []
for i in range(len(str(string1))):
	list2.append(str(list1[i]))
print('+'.join(list2))


l = list(map(int, input().rstrip().split('+')))
l.sort()
for i in range(len(l)):
	if i != 0 and i != len(l):
		print('+', end='')
	print(l[i], end='')


text = input()
text_list = []
res = ''
for letter in text:
	if letter != '+':
		text_list.append(letter)
text_list.sort()
text = ''
for letter in text_list:
	text += letter
for letter in text:
	res += '{0}+'.format(letter)
res = res[0:len(res) - 1]
print(res)


a = input()
l = list(a)
s = l.count('+')
p = []
for i in l:
	if i != '+':
		p.append(int(i))
p.sort()
b = 0
r = []
for i in range(0, len(l)):
	if i % 2 == 0:
		r.append(str(p[b]))
		b += 1
	else:
		r.append('+')
f = ''.join(r)
print(f)


t = input()
s = list(t)
for i in range(0, len(s), 2):
	for j in range(0, len(s), 2):
		if s[i] < s[j]:
			(s[i], s[j]) = (s[j], s[i])
print(''.join(s))


s = list(input().split('+'))
s.sort()
a = ''
for i in s:
	a += '+' + i
print(a[1:])


input_list = input().split('+')
input_list.sort()
print('+'.join(input_list))


s = input()
l = len(s)
b = ''
for i in range(0, l, 2):
	b += s[i]
new = sorted(b)
print('+'.join(new))


s = input()
li = s.split('+')
li.sort()
ans = ''
length = len(li)
for i in range(length - 1):
	ans = ans + str(li[i]) + '+'
ans = ans + str(li[length - 1])
print(ans)


x = [int(n) for n in input().split('+')]
x.sort()
print(x[0], end='')
for num in range(1, len(x)):
	n = x[num]
	print(f'+{n}', end='')


a = []
s = input()
for i in s:
	if '1' <= i <= '3':
		a.append(int(i))
a.sort()
for i in range(0, len(a)):
	if i == len(a) - 1:
		print(a[i])
	else:
		print(a[i], end='+')


s = input()
a = ''
for i in range(1, 4):
	count = 0
	for j in s:
		if str(i) == j:
			a += str(i)
			count += 1
		if count == 1:
			a += '+'
			count = 0
print(a[:len(a) - 1])


s = input()
l = []
for i in s.split('+'):
	l.append(int(i))
l = sorted(l)
for i in l[0:-1]:
	print(str(i) + '+', end='')
print(l[-1])


expression = input()
numbers = expression.split('+')
sorted_expression = '+'.join(sorted(numbers))
print(sorted_expression)


s = input()
s = s.split('+')
s.sort()
st = '+'
print(st.join(s))


s = input()
q = 0
w = 0
e = 0
z = ''
for i in s:
	if i == '1':
		q += 1
	elif i == '2':
		w += 1
	elif i == '3':
		e += 1
for i in range(q - 1):
	z = z + '1+'
if q != 0:
	z += '1'
for i in range(w):
	if z == '':
		z += '2'
	else:
		z += '+2'
for i in range(e):
	if z == '':
		z += '3'
	else:
		z += '+3'
print(z)


n = list(input().split('+'))
n.sort()
print(*n, sep='+')


s = input().split('+')
s.sort()
s = '+'.join(s)
print(s, end='')


s = input()
a = s.split('+')
a.sort()
t = [str(elem) for elem in a]
t = '+'.join(t)
print(t)


s = str(input())
t = s.replace('+', '')
t = list(t)
t = sorted(t)
print('+'.join(t))


inp = input()
tokens = list(map(int, inp.split('+')))
tokens.sort()
print('+'.join(map(str, tokens)))


s = input()
a = s.replace('+', '')
b = sorted(a)
m = '+'.join(b)
print(m)


a = str(input())
b = []
for i in a:
	if i != '+':
		b.append(i)
b.sort()
print(*b, sep='+')


nums = sorted([int(i) for i in input().split('+')])
print('+'.join((str(s) for s in nums)))


s = list(map(int, input().split('+')))
s.sort()
S = ''
for a in s:
	S = S + str(a) + '+'
S = S[:-1]
print(S)


s = input()
li = []
for i in s:
	if i != '+':
		li.append(int(i))
li.sort()
for i in range(len(li) - 1):
	print(str(li[i]) + '+', end='')
print(li[len(li) - 1])


p = input().split('+')
c = [0 for x in range(3)]
for i in p:
	c[int(i) - 1] += 1
x = ''
for i in range(3):
	for j in range(c[i]):
		x = x + str(i + 1) + '+'
print(x[:-1])


form = list(input('').replace('+', ''))
form.sort()
if len(form) != 1:
	for i in range(len(form) - 1):
		print(form[i], end='')
		print('+', end='')
print(form[len(form) - 1])


import math
s = input().split('+')
s = sorted(s)
print('+'.join(s))


def math_help(string):
	digits = string.split('+')
	digits.sort()
	return '+'.join(digits)
print(math_help(input()))


n = input().split('+')
n.sort()
if len(n) > 1:
	sum = ''
	for c in n[0:len(n) - 1]:
		sum += c + '+'
	sum = sum + n[-1]
else:
	sum = n[0]
print(sum)


import sys
numbers = map(int, sys.stdin.readline()[:-1].split('+'))
numbers = list(numbers)
numbers.sort()
print(*numbers, sep='+')


numbers = [int(x) for x in input().split('+')]
numbers.sort()
output = ''
for i in numbers:
	output = output + str(i) + '+'
output = list(output)
length = len(output)
del output[length - 1]
output2 = ''
for j in output:
	output2 = output2 + j
print(output2)


s = input()
a = list()
for x in range(len(s)):
	if x % 2 == 0:
		a.append(s[x] + ' ')
a.sort()
b = ''
b = b.join(a)
b = b.replace(' ', '+')
print(b[:-1])


NUMBERS = [int(x) for x in input().split('+')]
NUMBERS.sort()
list_len = len(NUMBERS)
for i in range(0, list_len):
	if i != list_len - 1:
		print('{0}{1}'.format(NUMBERS[i], '+'), end='')
	else:
		print(NUMBERS[i])


l = [int(x) for x in input().split('+')]
l.sort()
for x in l[:-1]:
	print(x, end='+')
print(l[len(l) - 1])


a = input()
b = len(a)
c = []
d = []
e = ''
for i in range(0, b // 2 + 1):
	c += a[2 * i]
	d = sorted(c, key=int)
for j in range(0, len(d)):
	e += d[j]
	if j == len(d) - 1:
		pass
	else:
		e += '+'
print(e)


l = list(str(input()))
n = len(l)
a = []
for i in range(0, n, 2):
	a.append(l[i])
a.sort()
print('+'.join(a))


n = input()
l = []
for i in range(0, len(n), 2):
	l.append(n[i])
l.sort()
listToStr = '+'.join(map(str, l))
print(listToStr)


s = list(input())
p = []
for i in s:
	if i != '+':
		p.append(int(i))
p.sort()
print(*p, sep='+')


mystring = input()
w = mystring.split('+')
w.sort()
tt = ''
add = '+'
for i in range(len(w)):
	if i == len(w) - 1:
		add = ''
	else:
		add = '+'
	tt = tt + w[i] + add
print(tt)


n = input()
l = n.split('+')
x = sorted(l, key=None, reverse=False)
m = '+'.join(x)
print(m)


n = input()
g = n.split('+')
s = sorted(g, key=int, reverse=False)
i = '+'.join(s)
print(i)


import sys
for line in sys.stdin:
	line = line.rstrip().split('+')
	line.sort()
	print('+'.join(line))


from sys import stdin, exit
s = stdin.readline().rstrip().split('+')
s.sort()
print('+'.join(s))


sums = input().split('+')
for i in range(len(sums)):
	sums[i] = int(sums[i])
sums.sort()
sum = ''
for i in range(len(sums)):
	sum = sum + str(sums[i]) + '+'
sum = sum[:-1]
print(sum)


s = input()
a = []
c = 0
for i in s:
	if i == '+':
		c += 1
	else:
		a.append(i)
for i in range(0, len(a)):
	a[i] = int(a[i])
a.sort()
for i in a:
	if c > 0:
		print(str(i) + '+', end='')
		c = c - 1
	elif c == 0:
		print(i, end='')


s = input()
a = []
d = []
w = ''
for i in s:
	if i != '+':
		a.append(int(i))
q = sorted(a)
for i in q:
	d.append(str(i))
	d.append('+')
for i in range(len(d) - 1):
	w = w + d[i]
print(w)


s = str(input())
a = []
ans = []
for i in range(0, len(s)):
	ans.append(s[i])
for i in range(0, len(ans)):
	if i % 2 == 0:
		a.append(ans[i])
a.sort()
for i in range(0, len(a) - 1):
	print(a[i], '+', sep='', end='')
print(a[len(a) - 1])


s = input()
s = [int(x) for x in s.split('+')]
s.sort()
rel = ''
for x in s:
	rel = rel + str(x) + '+'
print(rel[:-1])


a_c_b_p = str(input())
p_a_c_b = sorted(a_c_b_p)
a_b_c = [x for x in p_a_c_b if x != '+']
if len(a_b_c) == 1:
	pass
else:
	for_range = len(a_b_c) * 2 - 1
	for i in range(for_range):
		if i == 0:
			pass
		elif i % 2 == 1:
			a_b_c.insert(i, '+')
		else:
			pass
answer = ''
for y in a_b_c:
	answer += y
print(answer)


c = list(map(int, input().split('+')))
if len(c) <= 1:
	print(c[0])
else:
	for i in range(len(c)):
		for j in range(len(c) - 1, i, -1):
			if c[j] < c[j - 1]:
				(c[j], c[j - 1]) = (c[j - 1], c[j])
	for i in range(len(c) - 1):
		print(c[i], end='+')
	print(c[len(c) - 1])


s = input()
s = s.replace('+', '')
s = sorted(s)
print(*s, sep='+')


inp_string = input()
inp_li = inp_string.split('+')
inp_li = sorted(inp_li)
print('+'.join(inp_li))


digits = input().split('+')
print(*sorted(digits), sep='+')


sup = input()
ans = []
for i in range(0, len(sup), 2):
	ans.append(sup[i])
ans.sort()
print('+'.join(ans))


exp = input()
plus = {'+'}
for i in plus:
	exp = exp.replace(i, '')
exp = list(exp)
exp.sort()
for j in range(2 * len(exp) - 1):
	if j % 2 == 1:
		exp.insert(j, '+')
exp = ''.join(exp)
print(exp)


t = input()
x = [i for i in t.split('+')]
y = sorted(x)
n = len(x)
for i in range(n):
	if i <= n - 2:
		print(y[i], end='+')
	else:
		print(y[i])


getted = input()
printable = ''
gettedlist = list(getted)
for i in range(gettedlist.count('+')):
	del gettedlist[gettedlist.index('+')]
gettedlist.sort()
for j in range(len(gettedlist)):
	printable = printable + str(gettedlist[j]) + '+'
print(printable[:len(printable) - 1])


s = input()
b = []
for i in s:
	if i == '1' or i == '2' or i == '3':
		b.append(i)
print('+'.join(sorted(b)))


string = sorted(input().strip().split('+'))
for (ind, s) in enumerate(string):
	print(f'{s}+' if ind != len(string) - 1 else s, end='')


a = input()
b = []
for x in a:
	if x == '+':
		continue
	else:
		b.append(x)
d = ''
b.sort()
c = len(b)
for i in range(c):
	if i != c - 1:
		d = d + b[i] + '+'
	else:
		d = d + b[i]
print(d)


a = input()
b = '+'
if len(a) == 1:
	print(a)
else:
	a = a.split('+')
	a = sorted(a)
	print(b.join(a), end='')


f = input().split('+')
l = []
c = 0
for i in f:
	l.append(i)
l.sort()
k = '+'.join(l)
print(k)


A = list(input())
T1 = 0
T2 = 0
T3 = 0
output = ''
for i in A:
	if i == '1':
		T1 = T1 + 1
	if i == '2':
		T2 = T2 + 1
	if i == '3':
		T3 = T3 + 1
for i in range(T1 + T2 + T3):
	if T1 != 0:
		output = output + '1+'
		T1 = T1 - 1
	elif T2 != 0:
		output = output + '2+'
		T2 = T2 - 1
	else:
		output = output + '3+'
		T3 = T3 - 1
print(output[:len(output) - 1])


s = input()
s = s.replace('+', '')
l = [int(i) for i in s]
l.sort()
k = len(l)
for i in range(k):
	print(l[i], end='')
	if i != k - 1:
		print('+', end='')


s = input()
p = s.replace('+', '')
one = 0
two = 0
three = 0
ans = ''
for i in range(len(s)):
	if s[i] == '1':
		one += 1
	elif s[i] == '2':
		two += 1
	elif s[i] == '3':
		three += 1
	else:
		pass
for j in range(one):
	ans = ans + '1+'
for j in range(two):
	ans = ans + '2+'
for j in range(three):
	ans = ans + '3+'
ans = ans[:-1]
print(ans)


s = input()
s1 = ''
a = []
for i in s:
	if i != '+':
		a.append(i)
a.sort()
s1 += a[0]
for i in range(1, len(a)):
	s1 += '+'
	s1 += a[i]
print(s1)


import math, sys
input = sys.stdin.readline

def inp():
	return int(input())

def inlt():
	return list(map(int, input().split()))

def insr():
	s = input()
	return list(s[:len(s) - 1])

def invr():
	return list(map(int, input().split()))
s = list(insr()[::2])
s.sort()
print('+'.join(s))


summans = [int(x) for x in input().split('+')]
summans.sort()
print('+'.join([str(c) for c in summans]))


def sort(x):
	y = []
	n = len(x)
	for i in x[::2]:
		y.append(int(i))
	y.sort()
	for i in range(len(y)):
		if i == len(y) - 1:
			print(str(y[i]))
		else:
			print(str(y[i]) + '+', end='')
x = input()
sort(x)


s = input()
a = []
for i in range(0, len(s), 2):
	a.append(s[i])
a.sort()
count = 2 * len(a) - 1
for j in range(len(a)):
	if j == len(a) - 1:
		print(a[j])
		break
	else:
		print('{0}{1}'.format(a[j], '+'), end='')


x = sorted(input()[::2])
x = '+'.join(x)
print(x)


def main():
	suma = list(map(int, input().split('+')))
	suma.sort()
	if len(suma) == 1:
		print(suma[0])
	else:
		resultado = str(suma[0])
		for i in range(1, len(suma)):
			resultado = resultado + str('+') + str(suma[i])
		print(resultado)
main()


n = input()
if len(n) > 2:
	l = n.split('+')
	l.sort()
	print('+'.join(l))
else:
	print(n)


l = input()
l = sorted(l)
k = len(l) // 2
g = l[k:]
print('+'.join(g))


data = input()
data = data.split('+')
data = [int(x) for x in data]
data.sort()
if len(data) == 0:
	print(data[0])
else:
	print(data[0], end='')
	for i in range(1, len(data)):
		print('+', end='')
		print(data[i], end='')


t = input()
p = list(map(int, t.split('+')))
k = p
k.sort()
u = 0
i = 0
while i < len(t):
	print(k[u], end='')
	i = i + 1
	if i == len(t):
		break
	print('+', end='')
	i = i + 1
	u = u + 1


s = input()
if len(s) > 1:
	s = list(s.split('+'))
	s = sorted(s)
	s1 = s[0] + '+'
	for i in range(1, len(s)):
		s1 += s[i]
		if i < len(s) - 1:
			s1 += '+'
	print(s1)
else:
	print(s)


string = input()
a = []
k = 0
b = ''
for i in range(len(string)):
	if string[i] != '+':
		a.append(int(string[i]))
		k += 1
a.sort()
for i in range(k):
	if i != k - 1:
		b += str(a[i])
		b += '+'
	else:
		b += str(a[i])
print(b)


line = input()
readable_line = line.split('+')
readable_line.sort()
new_line = '+'.join(readable_line)
print(new_line)


numbers = list(map(int, input().split('+')))
numbers.sort()
for (index, number) in enumerate(numbers):
	if index == 0:
		print(number, end='')
	else:
		print(f'+{number}', end='')
print()


a = input()
c = []
for i in range(0, len(a), 2):
	c.append(a[i])
c.sort()
print('+'.join(c))


x = str(input())
y = []
z = []
w = ''
for i in x:
	y.append(i)
for i in y:
	if i != '+':
		z.append(i)
		z.sort()
for i in z:
	w += i
	w += '+'
w = w[:-1]
print(w)


x = '+'.join(sorted(input()[::2]))
for i in range(len(x)):
	if x[i] == '+':
		continue
	else:
		break
print(x[i:len(x)])


l = [int(x) for x in input().split('+')]
l.sort()
for x in range(0, len(l)):
	if x == len(l) - 1:
		print(l[x])
	else:
		print(l[x], end='+')


math_eqn = input()
lst = []
lst2 = []
a = b = c = 0
for i in range(0, len(math_eqn)):
	if math_eqn[i] == '1' or math_eqn[i] == '2' or math_eqn[i] == '3':
		lst.append(int(math_eqn[i]))
lst.sort()
n = len(lst)
for i in range(0, n):
	lst2 = str(lst[i]) + '+'
for i in range(0, n - 1):
	print(str(lst[i]) + '+', end='')
print(lst2[:-1])


Str = input()
Str1 = Str.replace('+', '')
Int_lst = list(map(int, Str1))
ans = sorted(Int_lst)
res = list(map(str, ans))
s = '+'
print(s.join(res))


st = input()
ls = st.split('+')
ls.sort()
print('+'.join(ls))


a = input()
b = [0, 0, 0]
list = a.split('+')
R = int((len(a) + 1) / 2)
for i in range(R):
	x = list[i]
	x = int(x)
	b[x - 1] += 1
if b[2] > 0:
	for i in range(b[0]):
		print(1, end='+')
	for i in range(b[1]):
		print(2, end='+')
	for i in range(b[2] - 1):
		print(3, end='+')
	print(3)
elif b[1] > 0:
	for i in range(b[0]):
		print(1, end='+')
	for i in range(b[1] - 1):
		print(2, end='+')
	print(2)
else:
	for i in range(b[0] - 1):
		print(1, end='+')
	print(1)


nums = input().split('+')
counts = [0, 0, 0]
output = []
for i in range(len(nums)):
	counts[int(nums[i]) - 1] += 1
for a in range(3):
	for b in range(counts[a]):
		output.append(str(a + 1))
print('+'.join(output))


summans = list(map(int, input().split('+')))
summans.sort()
S = ''
for i in range(len(summans)):
	S = S + str(summans[i]) + '+'
S = S[:-1]
print(S)


operation = input()
numbers_list = []
string_len = 0
counter = 1
while string_len < len(operation):
	numbers_list.append(int(operation[string_len]))
	string_len += 2
numbers_list.sort()
for item in numbers_list:
	print(item, end='')
	if counter < len(numbers_list):
		print('+', end='')
		counter += 1


def solve():
	sl = list(input())
	while '+' in sl:
		for i in range(len(sl)):
			if sl[i] == '+':
				sl.pop(i)
				break
	c = 1
	sl.sort()
	for i in range(len(sl) - 1):
		sl.insert(c, '+')
		c += 2
	print(''.join(sl))
solve()


s = input()
out = ''
for i in range(0, s.count('1')):
	out += '+1'
for i in range(0, s.count('2')):
	out += '+2'
for i in range(0, s.count('3')):
	out += '+3'
print(out[1:])


ls = list(map(int, input().split('+')))
ls.sort()
for i in range(len(ls)):
	print(ls[i], end='')
	if i < len(ls) - 1:
		print('+', end='')


line = list(input())
for i in range(len(line) // 2):
	line.remove('+')
line.sort()
string = '+'.join(line)
print(string)


n = input()

def helpful_math(n):
	x = list(n)
	konc = []
	for i in x:
		if i != '+':
			konc.append(i)
	konc.sort()
	return '+'.join(konc)
print(helpful_math(n))


s = input()
ans = [0, 0, 0, 0]
for i in s:
	if i == '1':
		ans[1] = ans[1] + 1
	elif i == '2':
		ans[2] = ans[2] + 1
	elif i == '3':
		ans[3] = ans[3] + 1
a = '1+' * ans[1] + '2+' * ans[2] + '3+' * ans[3]
print(a[:len(a) - 1])


s = input()
sl = list(s)
sl.sort()
st = ''
for i in sl:
	if i == '1':
		st += '1+'
	elif i == '2':
		st += '2+'
	elif i == '3':
		st += '3+'
print(st[0:-1])


def create_binary_heap(data, lenght):
	for i in range(lenght):
		j = max(0, (i - 1) // 2)
		while data[i] > data[j]:
			(data[i], data[j]) = (data[j], data[i])
			i = j
			j = max(0, (i - 1) // 2)

def heap_sort(data):
	lenght = len(data)
	for i in range(lenght):
		create_binary_heap(data, lenght - i)
		(data[lenght - 1 - i], data[0]) = (max(data[lenght - 1 - i], data[0]), min(data[lenght - 1 - i], data[0]))
data = input()
data = data.split('+')
heap_sort(data)
print('+'.join(data))


def main():
	inp = input().split('+')
	inp.sort(key=None, reverse=False)
	inp = '+'.join(inp)
	print(inp)
main()


Summands = [int(x) for x in input().split('+')]
Summands.sort()
print('+'.join((str(x) for x in Summands)))


List = input('').split('+')
List.sort()
output = ''
for i in List:
	output += i + '+'
output = output[:-1]
print(output)


n = input()
l = []
for i in range(len(n)):
	if i % 2 == 0:
		l.append(n[i])
l.sort()
m = []
for i in range(len(l)):
	m.append(l[i])
	m.append('+')
m = m[:-1]
for i in m:
	print(i, end='')


def main():
	numbers = sorted(list(map(int, input().split('+'))))

	def can_calculate(numbers, current_number=0):
		if current_number == len(numbers) - 1:
			return f'{numbers[current_number]}'
		return f'{numbers[current_number]}+' + can_calculate(numbers, current_number + 1)
	print(can_calculate(numbers))
main()


from functools import reduce
print(reduce(lambda s, r: s + '+' + r, sorted(input().split('+'))))


a = input()
b = []
for i in range(0, len(a), 2):
	b += [a[i]]
b.sort()
output = b[0]
for n in range(1, len(b)):
	output += '+' + b[n]
print(output)


s = input()
c1 = s.count('1')
c2 = s.count('2')
c3 = s.count('3')
s2 = c1 * '1' + c2 * '2' + c3 * '3'
s3 = ''
for i in range(len(s2)):
	s3 = s3 + s2[i] + '+'
l = len(s3)
s3 = s3[:l - 1]
print(s3)


h = list(map(int, input().split('+')))
h.sort()
answer = ''
for i in range(len(h) - 1):
	answer = answer + str(h[i]) + '+'
answer = answer + str(h[-1])
print(answer)


a = str(input())
n = len(a)
b = []
s = ''
for i in range(0, n, 2):
	new = a[i]
	b.append(new)
b.sort()
x = len(b)
for i in range(0, x):
	s = s + b[i]
	if i < x - 1:
		s = s + '+'
print(s)


ass = input()
ASS = []
for s in ass:
	if s != '+':
		ASS.append(s)
ASS.sort()
x = len(ASS)
for a in range(x):
	if a != x - 1:
		print(ASS[a] + '+', end='')
	else:
		print(ASS[a], end='')


tmp = list(input())
ls = []
tmp = list(filter(lambda a: a != '+', tmp))
tmp.sort()
ls.append(tmp[0])
for i in range(1, len(tmp)):
	ls.append('+')
	ls.append(tmp[i])
print(''.join(ls))


s = input()
s = list(s)
if len(s) == 1:
	print(''.join(s))
else:
	for i in range(0, len(s), 2):
		for j in range(i + 2, len(s), 2):
			if ord(s[j]) < ord(s[i]):
				t = s[i]
				s[i] = s[j]
				s[j] = t
	print(''.join(s))


s = list(map(int, input().split('+')))
for i in range(len(s)):
	for a in range(1, len(s)):
		if s[a] < s[a - 1]:
			b = s[a - 1]
			s[a - 1] = s[a]
			s[a] = b
for i in range(len(s)):
	if i != len(s) - 1:
		print(s[i], end='')
		print('+', end='')
	else:
		print(s[i], end='')


line = input()
if len(line) > 100:
	exit(1)
tmp = list((el.strip() for el in line.split('+')))
if set(tmp) - {'1', '2', '3'}:
	exit(1)
print('+'.join(sorted(tmp)))


originalSum = input().split('+')
originalSum.sort()
count = 1
for summand in originalSum:
	if count == len(originalSum):
		print(summand, end='')
	else:
		print(summand, end='+')
	count += 1


MytenElText = list(input())
MytenElText.sort()
NewText = ''
for ele in MytenElText:
	if ele == '+':
		continue
	NewText += ele + '+'
print(NewText[:len(NewText) - 1])


a = input()
n = int(len(a))
list1 = []
for i in range(0, n, 2):
	list1.append(a[i])
list1.sort()
c = 0
for i in range(n):
	if i % 2 == 0:
		print(list1[c], end='')
		c = c + 1
	elif i % 2 != 0 and i != n - 1:
		print('+', end='')


s = input()
arr = [int(x) for x in s.split('+')]
arr.sort()
s = ''
s += str(arr[0])
for c in arr[1:]:
	s += '+'
	s += str(c)
print(s)


s = input()
l = []
for i in s:
	if i.isdigit():
		l.append(int(i))
l.sort()
j = 0
s1 = ''
for i in s:
	if i.isdigit():
		s1 += str(l[j])
		j += 1
	else:
		s1 += '+'
print(s1)


n = input()
t = n.split('+')
sn = sorted(t)
sum = 0
print('+'.join(sn))


def helpfulMaths(n):
	result = n[::2]
	result = sorted(result)
	return '+'.join(result)
inputStr = input()
print(helpfulMaths(inputStr))


num = input()
s = sorted(num)
res = ''
for i in range(len(s)):
	if i + 1 == len(s):
		print(s[i])
	elif s[i] != '+':
		print(s[i] + '+', end='')


nums = input().split('+')
nums.sort()
firstTime = True
str = ''
for i in nums:
	if firstTime:
		str += i
		firstTime = False
		continue
	str += '+'
	str += i
print(str)


s = input()
l = list(s.split('+'))
i = 0
l = sorted(l)
i = 0
while i < len(l) - 1:
	print(str(l[i]), end='')
	print('+', end='')
	i += 1
print(l[len(l) - 1])


d = input()
m = d[::2]
k = sorted(m, reverse=True)
t = ''
for i in range(len(k)):
	k[i] == int(k[i])
	t += k[i]
t = int(t)
s = ''
while t > 0:
	q = t % 10
	s += str(q)
	s += '+'
	t //= 10
print(s[:-1])


s = input()
no1 = s.count('1')
no2 = s.count('2')
no3 = s.count('3')
length = len(s)
ans = ''
if length > 1:
	while no1:
		ans += '1+'
		no1 -= 1
	while no2:
		ans += '2+'
		no2 -= 1
	while no3:
		ans += '3+'
		no3 -= 1
if length == 1:
	print(s)
else:
	print(ans[:-1])


b = list(map(int, input().split('+')))
n = 1
while n < len(b):
	for i in range(len(b) - n):
		if b[i] > b[i + 1]:
			(b[i], b[i + 1]) = (b[i + 1], b[i])
	n += 1
for i in range(len(b) - 1):
	print(str(b[i]) + '+', end='')
print(b[-1])


i = list(input().split('+'))
i.sort()
print('+'.join(i))


string = input()
count1 = int(0)
count2 = int(0)
count3 = int(0)
for i in string:
	if i == '1':
		count1 += 1
	elif i == '2':
		count2 += 1
	elif i == '3':
		count3 += 1
for i in range(count1 - 1):
	print(1, end='+')
if count1 > 0:
	print(1, end='')
if (count2 > 0 or count3 > 0) and count1 > 0:
	print('+', end='')
for i in range(count2 - 1):
	print(2, end='+')
if count2 > 0:
	print(2, end='')
if count3 > 0 and count2 > 0:
	print('+', end='')
for i in range(count3 - 1):
	print(3, end='+')
if count3 > 0:
	print(3)


x = input()
y = [x[i] for i in range(0, len(x), 2)]
y.sort()
for i in range(len(y) - 1):
	print(y[i] + '+', end='')
print(y[len(y) - 1])


s = [int(i) for i in input().split('+')]
s.sort()
s = [str(i) for i in s]
op = '+'.join(s)
print(op)


import sys
sys.setrecursionlimit(100000)
from collections import defaultdict
from collections import deque
import heapq
I = lambda : list(map(int, input().split(' ')))
print('+'.join(sorted(map(str, map(int, input().split('+'))))))


nums = input().split('+')
nums.sort()
output = ''
if len(nums) == 1:
	print(nums[0])
else:
	for num in nums:
		output = output + num + '+'
	print(output[:-1])


s = input().split('+')
d = {'1': 0, '2': 0, '3': 0}
for c in s:
	d[c] += 1
a = '+1' * d['1']
b = '+2' * d['2']
c = '+3' * d['3']
ans = (a + b + c)[1:]
print(ans)


sumstr = input()
(a, b, c) = (0, 0, 0)
for i in sumstr:
	if i == '+':
		pass
	else:
		if i == '1':
			a += 1
		if i == '2':
			b += 1
		if i == '3':
			c += 1
res = ''
while a > 0:
	res += '1+'
	a -= 1
while b > 0:
	res += '2+'
	b -= 1
while c > 0:
	res += '3+'
	c -= 1
print(res[:-1])


myStr = str(input())
myList = myStr.split('+')
myList.sort()
print('+'.join(myList))


n = list(map(int, input().split('+')))
n.sort()
n2 = []
for item in n:
	item2 = str(item)
	n2.append(item2)
print('+'.join(n2))


x = input()
y = x.split('+')
y.sort()
for x in range(0, len(y) - 1):
	print(y[x], end='+')
print(y[-1])


n = [int(x) for x in input().split('+')]
n.sort()
for i in range(len(n) - 1):
	print(n[i], end='+')
print(n[len(n) - 1])


A = [int(x) for x in input().split('+')]
A.sort()
i = 1
while i <= len(A):
	print(A[i - 1], end='')
	if i < len(A):
		print('+', end='')
	i += 1


s = input()
n = int(len(s))
s = list(s)
for i in range(len(s)):
	if s[i] != '+':
		k = i
		for j in range(i, len(s)):
			if s[j] != '+':
				if ord(s[j]) < ord(s[k]):
					k = j
		c = s[i]
		s[i] = s[k]
		s[k] = c
print(''.join(s))


string = input()
array = string.split('+')
for i in range(len(array)):
	array[i] = int(array[i])
array.sort()
output = str(array[0])
for i in range(1, len(array)):
	output += '+' + str(array[i])
print(output)


st = input()
te = sorted(st.split('+'))
result = '+'.join(te)
print(result)


def math(s):
	l1 = list(map(str, s))
	ans = sorted(l1)
	return '+'.join(ans)
print(math(input().split('+')))


li = [int(x) for x in input().split('+')]
li.sort()
for i in range(0, len(li)):
	li[i] = str(li[i])
x = '+'.join(li)
print(x)


a = input()
b = a.count('1')
c = a.count('2')
d = a.count('3')
e = '1+' * b + '2+' * c + '3+' * d
print(e.rstrip('+'))


a = input()
new = a.replace('+', ' ').split()
new.sort()
print('+'.join(new))


s1 = input()
ans = s1.split('+')
for q in range(len(ans)):
	ans[q] = int(ans[q])
ans.sort()
for q in range(len(ans)):
	ans[q] = str(ans[q])
print('+'.join(ans))


S = input()
c1 = 0
c2 = 0
c3 = 0
for i in range(len(S)):
	if S[i] == '1':
		c1 += 1
	if S[i] == '2':
		c2 += 1
	if S[i] == '3':
		c3 += 1
S = '1' * c1 + '2' * c2 + '3' * c3
if len(S) == 1:
	S = S[0]
else:
	P = S[0]
	for i in range(1, len(S)):
		P = P + '+' + S[i]
	S = P
print(S)


a = list(map(int, input().split('+')))
ans = ''
a = sorted(a)
if len(a) == 1:
	ans = a[0]
else:
	for i in range(len(a) - 1):
		ans += str(a[i]) + '+'
	ans += str(a[len(a) - 1])
print(ans)


stringss = input()
print('+'.join(sorted(stringss.split('+'))))


a = input()
j = 0
c = []
d = []
str = ''
for i in range((len(a) + 1) // 2):
	c.append(int(a[2 * i]))
for i in range(len(c)):
	j = i
	b = c[i]
	while j < len(c):
		if b > c[j]:
			e = b
			b = c[j]
			c[j] = e
		j += 1
	d.append(b.__str__())
for i in range(len(d) - 1):
	str = str + d[i] + '+'
str += d[len(d) - 1]
print(str)


str1 = input()
lt = []
for x in str1:
	if x != '+':
		lt.append(int(x))
lt.sort()
i = 0
for x in lt:
	if i == len(lt) - 1:
		print(x, end='')
	else:
		print(str(x) + '+', end='')
	i += 1


a = input()
a = a.split('+')
a.sort()
ans = ''
for each in a:
	ans += each + '+'
print(ans[:-1])


(s, cisla, odpoved) = (input(), [], '')
for ch in s:
	if ch in '123':
		cisla.append(int(ch))
cisla.sort()
for i in range(len(cisla)):
	odpoved += str(cisla[i])
	if i < len(cisla) - 1:
		odpoved += '+'
print(odpoved)


a = str(input(''))
l = a.split('+')
l.sort()
a = '+'.join(l)
print(a)


a = list(map(int, input().split('+')))
a = sorted(a)
for i in range(len(a)):
	a[i] = str(a[i])
b = '+'.join(a)
print(b)


import sys
numbers = input().split('+')
for i in range(len(numbers)):
	numbers[i] = int(numbers[i])
numbers.sort()
for i in range(len(numbers)):
	if i != len(numbers) - 1:
		sys.stdout.write(str(numbers[i]) + '+')
	else:
		sys.stdout.write(str(numbers[i]))


import string
s = str(input())
numlist = s.split('+')
numlist.sort()
a = '+'
print(a.join(numlist))


sum = input()
summands = sum.split('+')
summands = sorted(summands)
sorted_summands = ''
for summand in summands:
	sorted_summands += summand + '+'
sorted_summands = sorted_summands[:-1]
print(sorted_summands)


v = input()
s = []
m = ''
for i in range(len(v)):
	if i % 2 == 0:
		s.append(int(v[i]))
i = 0
for i in range(len(s) - 1):
	for j in range(len(s) - 1):
		if s[j] > s[j + 1]:
			(s[j], s[j + 1]) = (s[j + 1], s[j])
for i in range(len(s)):
	m = m + str(s[i]) + '+'
print(m[0:len(m) - 1])


n = list(map(int, input().split('+')))
n.sort()
k = ''
for i in range(len(n)):
	if i != len(n) - 1:
		k += str(n[i]) + '+'
	else:
		k += str(n[i])
print(k)


string_input = str(input())
array_values = []
for i in range(len(string_input)):
	if string_input[i] == '1':
		array_values.append(1)
	elif string_input[i] == '2':
		array_values.append(2)
	elif string_input[i] == '3':
		array_values.append(3)
array_values.sort()
for i in range(len(array_values)):
	if i != len(array_values) - 1:
		print(array_values[i], end='+')
	else:
		print(array_values[i])


str1 = input().split('+')
numbers = sorted([int(i) for i in str1])
result = ''
for i in numbers:
	result += '+' + str(i)
print(result[1:])


a = ' '
n = input()
m = n.split('+')
for i in range(len(m)):
	for j in range(i, len(m)):
		if m[i] > m[j]:
			t = m[i]
			m[i] = m[j]
			m[j] = t
for i in range(len(m)):
	a = a + m[i]
print('+'.join(a[1:len(m) + 1]))


no = nt = i = nth = 0
s = input()
p = ''
for c in s:
	if c == '1':
		no += 1
	elif c == '2':
		nt += 1
	elif c == '3':
		nth += 1
for i in range(no):
	p = p + '1' + '+'
for i in range(nt):
	p = p + '2' + '+'
for i in range(nth):
	p = p + '3' + '+'
print(p[:len(p) - 1])


string = list(map(str, input().split('+')))
string.sort()
sorted_string = '+'.join(string)
print(sorted_string)


s = list(map(int, input().split('+')))
for i in range(len(s)):
	min = i
	for j in range(i, len(s)):
		if s[min] > s[j]:
			min = j
	(s[min], s[i]) = (s[i], s[min])
s = list(map(str, s))
print('+'.join(s))


a = str(input())
s = []
v = ''
for i in range(0, len(a), 2):
	s.append(a[i])
s.sort()
for i in range(len(s)):
	v += str(s[i]) + '+'
print(v[:-1])


a = input()
b = list(a)
if '+' in b:
	b.remove('+')
for i in b:
	if i == '+':
		b.remove(i)
b.sort()
print('+'.join(b))


a = sorted(input().split('+'))
b = ''
for x in a:
	b = b + x + '+'
print(b[:-1])


k = input()
k = k.split('+')
k = sorted(k)
k = '+'.join(k)
print(k)


string = input()
plus = string.count('+')
length = len(string) - plus
arr = [0] * length
count = 0
for i in range(len(string)):
	if string[i] != '+':
		arr[count] = int(string[i])
		count += 1
arr.sort()
temp = ''
for i in range(len(arr)):
	temp = temp + str(arr[i])
	if i != len(arr) - 1:
		temp = temp + '+'
print(temp)


arr = input().split('+')
y = sorted(arr)
x = '+'.join(y)
print(x)


import os
import sys
from math import *
from io import BytesIO, IOBase

def vsInput():
	sys.stdin = open('input.txt', 'r')
	sys.stdout = open('output.txt', 'w')

def array():
	return [int(i) for i in input().split()]
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')
s = input()
ans = []
for i in s:
	if i != '+':
		ans.append(int(i))
	ans.sort()
for i in ans[:-1]:
	print(str(i) + '+', end='')
print(str(ans[-1]))


s1 = input()
s2 = ''
arr = []
for i in range(0, len(s1), +2):
	arr.append(s1[i])
arr.sort()
for f in range(0, len(arr)):
	if f < len(arr) - 1:
		s2 += arr[f]
		s2 += '+'
	else:
		s2 += arr[f]
print(s2)


def check(str):
	l = len(str)
	res = '+'.join(sorted(str))
	res = res[l - 1:]
	return res
str = input()
print(check(str))


numbers = [i for i in input().split('+')]
numbers.sort()
print('+'.join(numbers))


no = list(input().split('+'))
no.sort()
for i in no[0:-1]:
	print(i, end='+')
print(no[-1])


s = input()
a = 0
b = 0
c = 0
for i in s:
	if i == '1':
		a += 1
	if i == '2':
		b += 1
	if i == '3':
		c += 1
a1 = '1+' * a
b1 = '2+' * b
c1 = '3+' * c
ans = (a1 + b1 + c1)[:-1]
print(ans)


operacion = list(input())
for x in range(operacion.count('+')):
	operacion.remove('+')
operacion = sorted(operacion)
for i in range(len(operacion)):
	if i != len(operacion) - 1:
		print(operacion[i], end='+')
	else:
		print(operacion[i])


a = str(input())
s = str()
f = str()
for i in range(len(a)):
	if a[i] == '1' or a[i] == '2' or a[i] == '3':
		s = s + a[i]
k1 = s.count('1')
k2 = s.count('2')
k3 = s.count('3')
m = str(k1 * '1' + k2 * '2' + k3 * '3')
for j in range(len(m)):
	f = f + m[j] + '+'
print(f[:-1])


def solve(s):
	s = s.split('+')
	s.sort()
	return '+'.join(s)
s = input()
result = solve(s)
print(result)


original_sum = input()
count_sort = [0] * 4
for i in range(0, len(original_sum), 2):
	if int(original_sum[i]) == 1:
		count_sort[1] += 1
	elif int(original_sum[i]) == 2:
		count_sort[2] += 1
	else:
		count_sort[3] += 1
for i in range(0, len(original_sum), 2):
	if count_sort[1] > 0:
		original_sum = original_sum[:i] + '1' + original_sum[i + 1:]
		count_sort[1] -= 1
	elif count_sort[2] > 0:
		original_sum = original_sum[:i] + '2' + original_sum[i + 1:]
		count_sort[2] -= 1
	else:
		original_sum = original_sum[:i] + '3' + original_sum[i + 1:]
		count_sort[3] -= 1
print(original_sum)


nums = [int(x) for x in input().strip().split('+')]
nums.sort()
print(*nums, sep='+')


string = input().split('+')
print('+'.join(sorted(string)))


summation = input()
for char in summation:
	if char == '+':
		summation = summation.replace(char, '')
rose = []
for char in summation:
	rose.append(char)
summation = ''.join(sorted(rose))
rose = []

def main():
	for index in range(len(summation)):
		if index == len(summation) - 1:
			rose.append(summation[index])
		else:
			rose.append(summation[index])
			rose.append('+')
	print(''.join(rose))
main()


str = input()
str = str.replace('+', '')
print('+'.join(sorted(str)))


str1 = input().split('+')
str1.sort()
if len(str1) == 1:
	print(str1[0])
else:
	print('+'.join(str1))


n = input()
n_list = n.split('+')
n_list.sort()
m = len(n_list)
for i in range(m - 1):
	print(n_list[i], '+', sep='', end='')
print(n_list[m - 1])


x = input()
array = []
for i in range(0, len(x)):
	if x[i] != '+':
		array.append(int(x[i]))
array.sort()
result = ''
for j in range(0, len(array) - 1):
	result += str(array[j]) + '+'
result += str(array[len(array) - 1])
print(result)


s = [int(x) for x in input().split('+')]
s.sort()
for (cont, i) in enumerate(s):
	if cont == len(s) - 1:
		print(i)
	else:
		print(str(i) + '+', end='')


equ = input()
lista = []
novalista = []
for x in range(len(equ)):
	if x % 2 == 0:
		lista.append(equ[x])
lista = sorted(lista)
for x in range(len(lista)):
	novalista.append(lista[x])
	novalista.append('+')
del novalista[-1]
print(''.join(map(str, novalista)))


a = input()
b = []
c = []
for i in range(len(a)):
	if a[i] != '+':
		b.append(a[i])
b.sort()
for i in range(len(b)):
	c.append(b[i])
	c.append('+')
del c[-1]
print(''.join(c))


import sys
sys_input = sys.stdin.readline

def inp():
	return int(sys_input())

def minp():
	return map(int, sys_input().split())

def linp():
	return list(map(int, sys_input().split()))

def inpsl():
	return list(input().split())

def write(s):
	sys.stdout.write(s)

def main():
	m = input()
	i = 0
	vec = []
	while i < len(m):
		vec.append(m[i])
		i += 2
	vec = sorted(vec)
	for v in range(len(vec) - 1):
		write(str(vec[v]) + '+')
	write(vec[-1])
main()


import math
import os
import random
import re
import sys
m = input()
m = m.replace('+', ' ')
m = ''.join(sorted(m))
m = m.strip()
m = m.replace('', '+')
print(m[1:-1])


nums = sorted(map(int, input().split('+')))
print('+'.join([str(i) for i in nums]))


import sys
line = input()
count = {'1': 0, '2': 0, '3': 0}
for i in range(len(line)):
	if line[i] != '+':
		count[line[i]] = count[line[i]] + 1
result = ''
for i in range(count['1']):
	result = result + '1+'
for i in range(count['2']):
	result += '2+'
for i in range(count['3']):
	result = result + '3+'
result = result[:-1]
print(result)


li = []
a = input()
for i in range(0, len(a)):
	if a[i] != '+':
		li.append(a[i])
for i in range(0, len(li)):
	for j in range(len(li) - 1, i, -1):
		if li[j] < li[j - 1]:
			temp = li[j]
			li[j] = li[j - 1]
			li[j - 1] = temp
for i in range(0, len(li)):
	print(li[i], end='')
	if i != len(li) - 1:
		print('+', end='')


s3 = [i for i in sorted(input()) if i.isdigit()]
print('+'.join(s3))


n = input()
p = list(n)
p.sort()
print('+'.join(map(str, p[p.count('+'):])))


a = list(map(int, input().split('+')))
a.sort()
ans = ''
l = len(a)
for i in range(l - 1):
	ans = ans + str(a[i]) + '+'
ans = ans + str(a[l - 1])
print(ans)


s = input()
mass = list(map(int, s.split('+')))
for j in range(len(mass)):
	minid = j
	for i in range(j + 1, len(mass)):
		if mass[minid] > mass[i]:
			minid = i
	minim = mass[minid]
	mass[minid] = mass[j]
	mass[j] = minim
ns = str(mass[0])
for i in range(1, len(mass)):
	ts = str(mass[i])
	ns = ns + '+' + ts
print(ns)


s = input()
count_1 = count_2 = count_3 = 0
for i in s:
	if i == '1':
		count_1 += 1
	elif i == '2':
		count_2 += 1
	elif i == '3':
		count_3 += 1
st = '1+' * count_1 + '2+' * count_2 + '3+' * count_3
print(st[:-1])


b = list(map(int, input().split('+')))
d = []
d.extend(b)
d.sort()
for i in range(len(d)):
	print(d[i], end='')
	if i != len(d) - 1:
		print('+', end='')


def main():
	s = input()
	new_s = s.split('+')
	new_s.sort()
	out = ''
	for i in range(len(new_s)):
		if i == len(new_s) - 1:
			out += new_s[i]
		else:
			out += new_s[i] + '+'
	print(out)
main()


string = input()
one = 0
two = 0
three = 0
result = ''
for i in range(len(string)):
	if string[i] == '1':
		one += 1
	elif string[i] == '2':
		two += 1
	elif string[i] == '3':
		three += 1
for i in range(one):
	result += '1+'
for i in range(two):
	result += '2+'
for i in range(three):
	result += '3+'
print(result[:-1])


n = input()
arr = [x for x in n if x.isdigit()]
k = '+'.join(sorted(arr))
print(k)


x = input().split('+')
for i in range(1, len(x)):
	j = i - 1
	nxt_element = x[i]
	while x[j] > nxt_element and j >= 0:
		x[j + 1] = x[j]
		j = j - 1
	x[j + 1] = nxt_element
print('+'.join(x))


string = input()
(count1, count2, count3) = (0, 0, 0)
for x in string:
	if x == '1':
		count1 += 1
	elif x == '2':
		count2 += 1
	elif x == '3':
		count3 += 1
stre = '1+' * count1 + '2+' * count2 + '3+' * count3
stres = stre[:-1]
print(stres)


def help(str):
	numbers = str.split('+')
	numbers2 = []
	res = ''
	for i in numbers:
		if i != '':
			numbers2.append(i)
	numbers2.sort()
	for i in numbers2:
		res = res + i + '+'
	return res
inp = input()
x = help(inp)
print(x[:len(x) - 1])


x = input()
x = x[0:len(x):2]
list = []
for i in x:
	list.append(i)
list.sort()
x = ''
for c in list:
	x = x + (c + '+')
x = x[0:len(x) - 1]
print(x)


nums = [int(x) for x in input().split('+')]
nums.sort()
print('+'.join([str(x) for x in nums]))


s = input().split('+')
i = len(s)
while i > 0:
	if len(s) > 1:
		for a in range(0, i):
			if a < i - 1 and int(s[a]) > int(s[a + 1]):
				t = s[a]
				s[a] = s[a + 1]
				s[a + 1] = t
	i -= 1
out = s[0]
if len(s) > 1:
	for i in range(1, len(s)):
		out += '+'
		out += s[i]
print(out)


a = list(input())
arr = []
for i in a:
	if i == '1' or i == '2' or i == '3':
		arr.append(i)
arr.sort()
print('+'.join(arr))


string = input()
arr = []
for i in range(len(string)):
	if string[i] != '+':
		arr.append(string[i])
arr.sort()
ans = ''
for i in range(len(arr)):
	ans += arr[i] + '+'
print(ans[:len(ans) - 1])


nums = [int(x) for x in input().split('+')]
nums.sort()
for a in range(len(nums)):
	if a == len(nums) - 1:
		print(nums[a])
		quit()
	print(nums[a], end='+')


s = input()
s = s.replace('+', '')
s = sorted([int(x) for x in s])
print('+'.join([str(x) for x in s]))


word = input().split('+')
word = '+'.join(sorted(word))
print(word)


s = input()
n = len(s)
l = []
for i in range(0, n):
	if s[i] != '+':
		l.append(int(s[i]))
l.sort()
res = ''
for i in range(0, len(l)):
	if i < len(l) - 1:
		res += str(l[i])
		res += '+'
	else:
		res += str(l[i])
print(res)


can_not_calculate = input()
sums = []
can_calculate = ''
for i in can_not_calculate:
	if i != '+':
		sums.insert(0, i)
sums.sort()
for num in sums:
	can_calculate += num + '+'
print(can_calculate[:-1])


s = input()
num = [s[i] for i in range(len(s)) if i % 2 == 0]
num.sort()
output = ''
for a in range(len(num)):
	output += num[a]
	if a != len(num) - 1:
		output += '+'
print(output)


import sys

def check_int(s):
	if s[0] in ('-', '+'):
		return s[1:].isdigit()
	return s.isdigit()

def check_float(s):
	try:
		float(s)
		return True
	except ValueError:
		return False

def read_line():
	line = sys.stdin.readline().rstrip('\n')
	return line

def read_seq(sep=' ', convert_type=False):
	line = read_line()
	seq = line.split(sep)
	if convert_type == False:
		return seq
	else:
		seq_t = []
		for i in range(0, len(seq)):
			if check_int(seq[i]):
				seq_t.append(int(seq[i]))
			elif check_float(seq[i]):
				seq_t.append(float(seq[i]))
			else:
				seq_t.append(seq[i])
		return seq_t

def read_value(type='string'):
	seq = read_seq()
	assert len(seq) == 1
	if type == 'int':
		return int(seq[0])
	elif type == 'float':
		return float(seq[0])
	return seq[0]
seq = read_seq('+', False)
seq.sort()
print('+'.join(seq))


a = input()
b = ''
y = []
for i in range(0, len(a), 2):
	y.append(int(a[i]))
y.sort()
for i in range(len(y)):
	b = b + str(y[i]) + '+'
print(b[:len(b) - 1])


s = input()
ct1 = 0
ct2 = 0
ct3 = 0
for i in s:
	if i == '1':
		ct1 += 1
	elif i == '2':
		ct2 += 1
	elif i == '3':
		ct3 += 1
r = '1+' * ct1 + '2+' * ct2 + '3+' * ct3
if ct1 + ct2 + ct3 > 0:
	print(r[:len(r) - 1])
else:
	print('')


n = str(input())
s = n.replace('+', '')
b = sorted(s)
j = 0
for i in range(len(n)):
	if i % 2 == 0:
		print(b[j], end='', sep='')
		j += 1
	else:
		print(n[i], end='', sep='')


s = input()
s = s.replace('+', '')
l1 = len(s)
a = [0] * l1
for i in range(len(a)):
	a[i] = int(s[i])
a.sort()
for i in range(len(a)):
	if i == 0:
		print(str(a[i]), end='')
	else:
		print('+' + str(a[i]), end='')


x = input()
b = x.split('+')
b = sorted(b)
if len(b) > 1:
	for i in range(0, len(b)):
		if i < len(b) - 1:
			print(b[i], end='+')
		else:
			print(b[i])
else:
	print(x)


k = input()
if len(k) == 1:
	print(k)
else:
	k = k.split('+')
	print('+'.join(sorted(k)))


n = input()
m = n.replace('+', '')
l = list(m)
k = sorted(l)
x = '+'.join(k)
print(x)


str = input()
n1 = len(str)
i = 0
j = 1
L = []
if n1 == 1:
	print(str)
else:
	while i <= n1 - 1:
		L.append(str[i])
		i = i + 2
	L.sort()
	n2 = len(L)
	while j <= 2 * n2 - 3:
		L.insert(j, '+')
		j = j + 2
	s = ''.join(L)
	print(s)


s = input()
d = '+'
l = []
for i in s:
	if i == '1' or i == '2' or i == '3':
		l.append(i)
l.sort()
print(d.join(l))


sr = str(input())
ls = list(sr)
ls.sort()
gl = []
for (ni, i) in enumerate(ls):
	if i != '+':
		gl.append(i)
last = []
op = len(gl) - 1
for (pq, k) in enumerate(gl):
	if k == '1' or k == '2' or k == '3':
		last.append(k)
		if pq == op:
			break
		last.append('+')
for l in last:
	print(l, end='')


array = list(map(int, input().replace('+', ' ').split()))
array.sort()
print('+'.join([str(x) for x in array]))


inp = sorted(input().split('+'))
s = ''
for i in range(len(inp) - 1):
	s += inp[i] + '+'
s += inp[len(inp) - 1]
print(s)


s = input()
l = []
for i in s:
	if i != '+':
		l.append(int(i))
l.sort()
j = 0
x = ''
for i in s:
	if i != '+':
		x = x + str(l[j])
		j = j + 1
	else:
		x = x + '+'
print(x)


s = input()
l = list(s)
final = []
if len(l) == 1:
	print(l[0])
else:
	while '+' in l:
		l.remove('+')
	l.sort()
	s = '+'.join(l)
	print(s)


s = sorted([int(i) for i in input().split('+')])
for i in range(len(s)):
	if i != len(s) - 1:
		print(str(s[i]) + '+', end='')
	else:
		print(s[i])


nums = input().split('+')
num = [int(n) for n in nums]
num.sort()
new_num = [str(n) for n in num]
s = '+'.join(new_num)
print(s)


n = sorted(input().split('+'))
for i in range(len(n)):
	print(n[i], end='')
	if i < len(n) - 1:
		print('+', end='')


string = input()
n = []
m = []
t = []
str1 = 0
l = len(string) - 1
while l >= 0:
	if string[l] != '+':
		x = int(string[l])
		n.append(x)
		l = l - 1
	else:
		y = string[l]
		m.append(y)
		l = l - 1
t = n + n
t.sort()
i = 0
d = len(t)
while i < d - 1:
	if i % 2 == 0:
		print(t[i], end='')
		i = i + 1
	else:
		print('+', end='')
		i = i + 1


s = input()
b = ''
for i in range(0, len(s), 2):
	b += s[i]
	c = sorted(b)
print('+'.join(c))


def reorder(inp):
	res = ''
	num = list(map(int, inp.split('+')))
	num.sort()
	res = '+'.join(list(map(str, num)))
	return res
input_string = input().strip()
res = reorder(input_string)
print(res)


input = input()

def addition(input):
	array = [int(i) for i in input.split('+')]
	array.sort()
	result = '+'.join(map(str, array))
	return result
print(addition(input))


a = sorted(input().split('+'))
for i in range(len(a) - 1):
	print(f'{a[i]}+', end='')
print(a[len(a) - 1])


x = input()
lst = []
lst = x.split('+')
lst.sort()
n = len(lst)
ele = '+'
temp = list(ele.join(lst))
n1 = len(temp)
for i in range(n1):
	print(temp[i], end='')
print()


s = list(map(int, input().split('+')))
s.sort()
f = False
for i in s:
	if f:
		print('+', end='')
	else:
		f = True
	print('{}'.format(i), end='')
print()


str = input()
nums = []
i = 0
while i < len(str):
	nums.append(str[i:i + 1])
	i += 2
nums.sort()
i = 1
ans = nums[0]
while i < len(nums):
	ans += '+' + nums[i]
	i += 1
print(ans)


n = input()
l = n.split('+')
lst = [int(i) for i in l]
lst = sorted(lst)
s = [str(i) for i in lst]
print('+'.join(s))


x = input()
if len(x) >= 3:
	x = x.split('+')
	x.sort()
	mensaje = x[0]
	for k in range(1, len(x)):
		mensaje = mensaje + '+' + x[k]
else:
	mensaje = x
print(mensaje)


ex = sorted(list(input().split('+')))
print('+'.join(ex))


s = input()
array = list()
s1 = ''
x = int(0)
size = int((len(s) + 1) / 2)
for i in range(size):
	array.append(s[x])
	x += 2
array = sorted(array)
for i in range(0, size):
	s1 = s1 + array[i] + '+'
print(s1[0:len(s1) - 1])


print('+'.join(list(map(str, sorted(list(map(int, input().strip().split('+'))))))))


su = input().split('+')
su.sort()
u = ''
if len(su) > 1:
	for i in range(len(su)):
		u += f'+{su[i]}'
	u = u[1:]
else:
	u = su[0]
print(u)


s = input()
result = ''
numbers = [int(x) for x in s.split('+')]
numbers.sort()
for number in numbers:
	result = result + '+' + str(number)
print(result.strip('+'))


import sys
s = sys.stdin.readline().strip().split('+')
s.sort()
result = ''
for i in s:
	result += i
print('+'.join(result))


in_string = input().split('+')
x = 0
y = 0
z = 0
for i in range(0, len(in_string)):
	if in_string[i] == '1':
		x += 1
	elif in_string[i] == '2':
		y += 1
	else:
		z += 1
sum = [0] * (x + y + z)
final = ''
for i in range(0, x):
	sum[i] = 1
for i in range(x, x + y):
	sum[i] = 2
for i in range(x + y, x + y + z):
	sum[i] = 3
for i in range(0, len(sum)):
	final = final + str(sum[i]) + '+'
final = final[:len(final) - 1]
print(final)


temp = list(map(int, input().split('+')))
temp.sort()
out = list(map(str, temp))
print('+'.join(out))


n = input()
(p, k) = ('', '')
for i in range(len(n)):
	if i % 2 == 0:
		k = k + n[i]
k = sorted(k)
for i in range(len(k)):
	p = p + k[i] + '+'
print(p[:-1])


s = input()
l = list(s)
for j in range(0, len(l), 2):
	for i in range(0, len(l) - 2, 2):
		if l[i] > l[i + 2]:
			(l[i], l[i + 2]) = (l[i + 2], l[i])
for i in l:
	print(i, end='')


x = list(input())
numslist = []
for each in x:
	if each != '+':
		numslist.append(each)
numslist.sort()
for i in range(len(numslist)):
	if i < len(numslist) - 1:
		print(numslist[i], end='+')
	else:
		print(numslist[i])


def helpful_maths():
	s = str(input())
	s = s.split('+')
	s.sort()
	r = ''
	for c in s:
		r += c + '+'
	print(r[:-1])
helpful_maths()


s = input()
x = s.count('1')
y = s.count('2')
z = s.count('3')
a = ''
b = ''
c = ''
for i in range(x):
	a = a + '1+'
for i in range(y):
	b = b + '2+'
for i in range(z):
	c = c + '3+'
s = a + b + c
print(s[0:len(s) - 1])


def main():
	s = input()
	numbers = s.split('+')
	numbers.sort()
	print('+'.join(numbers))
main()


n = [int(i) for i in input().split('+')]
m = []
while len(n) != 0:
	m.append(min(n))
	n.remove(min(n))
for i in range(len(m) - 1):
	print(m[i], end='+')
print(m[len(m) - 1])


s = input()
one = two = three = 0
for i in range(len(s)):
	if s[i] == '1':
		one += 1
	elif s[i] == '2':
		two += 1
	elif s[i] == '3':
		three += 1
s2 = ''
for i in range(one):
	if i == one - 1 and two == 0 and (three == 0):
		s2 += '1'
	else:
		s2 += '1+'
for i in range(two):
	if i == two - 1 and three == 0:
		s2 += '2'
	else:
		s2 += '2+'
for i in range(three):
	if i == three - 1:
		s2 += '3'
	else:
		s2 += '3+'
print(s2)


mathSequence = input()
perfectSequence = []
for i in mathSequence:
	if i != '+':
		perfectSequence.append(int(i))
perfectSequence.sort()
ln = len(perfectSequence)
for i in range(0, ln):
	print(perfectSequence[i], end='')
	if i < ln - 1:
		print('+', end='')


l = list(input())
m = []
d = []
for i in l:
	if i == '+':
		pass
	else:
		m.append(int(i))
		m.sort()
for i in m:
	d.append(str(i))
a = '+'.join(d)
print(a)


s = [digit for digit in input() if digit != '+']
l = len(s)
index = 0
(start, end) = (0, l)
while index < end:
	if s[index] == '1':
		(s[start], s[index]) = (s[index], s[start])
		index += 1
		start += 1
	elif s[index] == '3':
		(s[end - 1], s[index]) = (s[index], s[end - 1])
		end -= 1
	else:
		index += 1
for i in range(l):
	s[i] = s[i] + ('+' if i != l - 1 else '')
result = ''.join(s)
print(result)


summ = input()
summands = summ.split('+')
summands.sort()
print('+'.join(summands))


list1 = [int(data) for data in input().split('+')]
list1.sort()
result = ''
for data in list1:
	result += str(data)
	result += '+'
print(result[:-1])


L = list(input().split('+'))
L = sorted(L)
print('+'.join(L))


s = input()
s = s.split('+')
s = map(int, s)
s = sorted(s)
printout = ''
for elem in s[0:len(s) - 1]:
	printout += str(elem) + '+'
print(printout + str(s[len(s) - 1]))


arr = list(map(int, input().split('+')))
arr.sort()
word = ''
for el in arr:
	word = word + str(el) + '+'
word = word[:-1]
print(word)


s = input()
l = []
for i in s:
	if i == '1' or i == '2' or i == '3':
		l.append(i)
l.sort()
st = ''
for i in range(len(l)):
	st = st + l[i]
	st = st + '+'
print(st[:-1])


s = input().split('+')
s.sort()
r = '+'.join(s)
print(r)


n = input()
a = [0, 0, 0]
for i in n:
	if i == '+':
		continue
	if i == '1':
		a[0] += 1
	elif i == '2':
		a[1] += 1
	else:
		a[2] += 1
p = 1
for i in range(a[0] + a[1] + a[2]):
	if p == 1:
		if a[0] > 0:
			s = '1'
			a[0] -= 1
		elif a[1] > 0:
			s = '2'
			a[1] -= 1
		elif a[2] > 0:
			s = '3'
			a[2] -= 1
		p = 0
	elif a[0] > 0:
		s = s + '+1'
		a[0] -= 1
	elif a[1] > 0:
		s = s + '+2'
		a[1] -= 1
	elif a[2] > 0:
		s = s + '+3'
		a[2] -= 1
print(s)


str1 = input()
if '+' in str1:
	l1 = str1.split('+')
	l1.sort()
	print('+'.join(l1))
else:
	print(str1)


n = input()
l = []
pc = []
f = []
for i in n:
	if i != '+':
		l.append(i)
	if i == '+':
		pc.append(i)
l.sort()
for j in range(0, len(pc)):
	f.append(l[j])
	f.append(pc[j])
f.append(l[len(l) - 1])
s = [str(i) for i in f]
res = str(''.join(s))
print(res)


s = input('')
q = int((len(s) + 1) / 2)
m = list()
a = 0
for i in range(q):
	m.append(s[a])
	a += 2
d = sorted(m)
n = '+'.join(d)
print(n)


s = list(input())
s1 = ''
while '+' in s:
	s.remove('+')
s.sort()
for i in s:
	s1 = s1 + i + '+'
s1 = s1[:-1]
print(s1)


s = input()
l = []
for i in s:
	if i is not '+':
		l.append(i)
l.sort()
q = '+'.join(l)
print(q)


s = input()
s = sorted(s)
for i in s[:len(s) - 1]:
	if i != '+':
		print(i, '+', sep='', end='')
print(s[len(s) - 1])


string = input().split('+')
y = []
x = ''
for i in string:
	y.append(int(i))
y.sort()
for i in range(0, len(y)):
	x = x + str(y[i]) + '+'
print(x[0:len(x) - 1])


s = input()
s_list = list(s)
no_list = []
for each in range(len(s_list)):
	if s_list[each] != '+':
		no_list.append(int(s_list[each]))
		s_list[each] = ' '
no_list.sort()
i = 0
for each in range(len(s_list)):
	if s_list[each] == ' ':
		s_list[each] = no_list[i]
		i += 1
		print(s_list[each], end='')
	else:
		print(s_list[each], end='')


s = input()
rst = []
for i in range(0, len(s), 2):
	rst.append(s[i])
rst.sort()
print(*rst, sep='+')


r = input()
n1 = n2 = n3 = 0
for i in range(0, len(r), 2):
	if r[i] == '1':
		n1 += 1
	elif r[i] == '2':
		n2 += 1
	else:
		n3 += 1
x = '1+' * n1 + '2+' * n2 + '3+' * n3
print(x[:-1])


new = []
s = input()
new = s.split('+')
newer = sorted(new)
last = []
st = ''
if len(s) == 1:
	print(s)
else:
	for i in range(len(newer)):
		if i < len(newer) - 1:
			last.append(newer[i])
			last.append('+')
		elif i == len(newer) - 1:
			last.append(newer[i])
for j in last:
	st = st + j
print(st)


arr = [int(x) for x in input().split('+')]
arr.sort()
for i in range(0, len(arr) - 1):
	print(arr[i], end='+')
print(arr[len(arr) - 1])


st = input()
li = []
li = st.split('+')
li.sort()
str = ''
for i in range(0, len(li)):
	if i == len(li) - 1:
		str = str + li[i]
	else:
		str = str + li[i] + '+'
print(str)


s = input()
length = len(s)
if length == 1:
	print(s)
else:
	a = []
	for i in range(0, length, 2):
		ab = ord(s[i]) - 48
		a.append(ab)
	a.sort()
	j = 0
	for i in range(length):
		if i % 2 == 0:
			print(a[j], end='')
			j += 1
			continue
		print('+', end='')
	print()


a = input().split('+')
a = sorted(a, key=lambda x: int(x))
b = ''
for i in a:
	b += i + '+'
print(b[:-1])


string = input().replace('+', ' ').split()
string.sort()
output = ''
for i in string:
	output = output + '+' + i
print(output[1:])


s = input()
ar = []
stmp = ''
for i in s:
	if i != '+':
		ar.append(i)
	elif i == '+':
		stmp += i
ar.sort()
for i in range(len(ar) - 1):
	print(ar[i] + '+', end='')
print(ar[len(ar) - 1])


a = input()
A = list(a)
for i in a:
	if i == '+':
		A.remove(i)
A.sort()
B = []
b = 0
for i in A:
	b = b + 1
	B.append(i)
	if b == len(A):
		break
	B.append('+')
print(''.join(B))


import sys
s = input()
count1 = 0
count2 = 0
count3 = 0
for i in range(0, len(s)):
	if s[i] == '1':
		count1 += 1
	if s[i] == '2':
		count2 += 1
	if s[i] == '3':
		count3 += 1
flag = 0
if len(s) == 1:
	print(s)
	flag = 1
if flag == 0:
	s1 = ''
	temp = count1
	while count1 > 0:
		s1 += '1+'
		count1 -= 1
	s1 = s1.rstrip('+')
	if count2 > 0 or count3 > 0:
		if temp > 0:
			s1 += '+'
	temp1 = count2
	while count2 > 0:
		s1 += '2+'
		count2 -= 1
	s1 = s1.rstrip('+')
	if count3 > 0:
		if temp + temp1 > 0:
			s1 += '+'
	while count3 > 0:
		s1 += '3+'
		count3 -= 1
	s1 = s1.rstrip('+')
	print(s1)


string = input().split('+')
string.sort()
output = str()
for i in string:
	output = output + '+' + i
print(output[1:])


s = input()
l1 = list(s)
for i in l1:
	if i == '+':
		l1.remove(i)
l1.sort()
print('+'.join(l1))


s = input().split('+')
s.sort()
f = []
for i in s:
	f.append(i)
	f.append('+')
f.pop(len(f) - 1)
for i in f:
	print(i, end='')


s = input()
n = (len(s) + 1) // 2
s = s.split('+')
s.sort()
print('+'.join(s))


array = sorted(input().split('+'))
for i in range(len(array) - 1):
	print(array[i] + '+', end='')
print(array[-1])


a = input()
b = list(a)
for x in range(a.count('+')):
	b.remove('+')
b.sort()
c = '+'.join(b)
print(c)


str = input()
str1 = ''.join(sorted(str))
str2 = str1.replace('+', '')
print('+'.join(str2))


sum = input()
a = sum.count('1')
b = sum.count('2')
c = sum.count('3')
s = a * '1+' + b * '2+' + c * '3+'
print(s[:-1])


op = input().split('+')
op.sort()
print('+'.join(op))


data = input().split('+')
data.sort()
j = 0
for i in data:
	if j != len(data) - 1:
		print(i, end='+')
	else:
		print(i)
	j += 1


original_list = [str(i) for i in input()]
new_list = [str(z) for z in original_list if z != '+']
new_list.sort()
for i in range(1, len(new_list) + len(new_list) - 1, 2):
	new_list.insert(i, '+')
for i in range(len(new_list)):
	print(new_list[i], end='')


def helpful(lst):
	lst.sort()
	output = ''
	cont = 1
	for num in lst:
		if cont < len(lst):
			output += str(num) + '+'
			cont += 1
		elif cont == len(lst):
			output += str(num)
	return output

def main():
	a = input()
	lst = a.split('+')
	print(helpful(lst))
main()


def test(c):
	c = sorted(c)
	result = ''
	for i in range(len(c)):
		if i < len(c) - 1:
			result += str(c[i]) + '+'
		else:
			result += str(c[i])
	return result
c = input()
if len(c) > 1:
	c = list(map(int, c.split('+')))
	print(test(c))
else:
	print(c)


n = input()
a = b = c = 0
for i in range(0, len(n), 2):
	if n[i] == '1':
		a += 1
	elif n[i] == '2':
		b += 1
	else:
		c += 1
out = '1+' * a + '2+' * b + '3+' * c
print(out[:-1])


x = input()
x = x.split('+')
x.sort()
y = ''
for i in x:
	y = y + i
	y = y + '+'
print(y.rstrip('+'))


x = input()
y = x.split('+')
y.sort()
s = ''
l = len(y)
for i in range(l - 1):
	s += y[i] + '+'
s += y[-1]
print(s)


allsum = 0

def makeP(contVal, number):
	global allsum
	while contVal > 0:
		print(number, end='')
		contVal -= 1
		if allsum > 1:
			print('+', end='')
			allsum -= 1
srt1 = str(input())
(a1, a2, a3) = (0, 0, 0)
for i in range(len(srt1)):
	if srt1[i] == '1':
		a1 += 1
	elif srt1[i] == '2':
		a2 += 1
	elif srt1[i] == '3':
		a3 += 1
allsum = a1 + a2 + a3
makeP(a1, '1')
makeP(a2, '2')
makeP(a3, '3')


ex = input().split('+')
ex = sorted(ex)
result = ''
for el in ex:
	result += str(el) + '+'
print(result[:-1])


line = []
line = input().split('+')
line.sort()
output = ''
for item in line:
	output += str(item) + '+'
print(output[:len(output) - 1])


string = input()
s = string.split('+')
lst = []
for i in s:
	lst.append(int(i))
str_lst = []
for element in sorted(lst):
	str_lst.append(str(element))
print('+'.join(str_lst))


numbers_to_sum = [x for x in input().split('+')]
numbers_to_sum.sort()
print('+'.join(numbers_to_sum))


s = list(map(int, input().split('+')))
s = sorted(s)
st = ''
for ele in s:
	st += str(ele) + '+'
print(st[:len(st) - 1])


problem = input().split('+')
for p in range(len(problem)):
	problem[p] = int(problem[p])
problem.sort()
for p in range(len(problem)):
	if p != len(problem) - 1:
		print(problem[p], end='+')
	else:
		print(problem[p], end='')


L = input().split('+')
L.sort()
a = ''
for i in range(len(L)):
	a = a + L[i] + '+'
a = a[:len(a) - 1]
print(a)


s = input()
x = [0] * 4
for i in s:
	if i != '+':
		x[int(i)] += 1
t = '1+' * x[1] + '2+' * x[2] + '3+' * x[3]
print(t[:len(s)])


import functools
lst = list(input().split('+'))
lst.sort()
res = functools.reduce(lambda acc, item: acc + '+' + item, lst)
print(res)


def split_string(list_string):
	list_string = list_string.split('+')
	list_string.sort()
	join_string = '+'.join(list_string)
	print(join_string)
a = input()
split_string(a)


s = list(str(input()).split('+'))
s.sort()
new_s = []
for number in s:
	new_s.append(number)
	new_s.append('+')
new_s.pop()
for num in new_s:
	print(num, end='')


ls = list(map(int, input().split('+')))
ls.sort()
pls = []
for i in ls:
	pls.append(str(i))
print('+'.join(pls))


a = input()
b = [0, 0, 0, 0]
for i in range(len(a)):
	if a[i] != '+':
		b[int(a[i])] = b[int(a[i])] + 1
c = '1+' * b[1] + '2+' * b[2] + '3+' * b[3]
d = c[:-1]
print(d)


num = input()
n_1 = num.count('1')
n_2 = num.count('2')
n_3 = num.count('3')
a = '+1' * n_1 + '+2' * n_2 + '+3' * n_3
print(a[1:])


st1 = input().split('+')
ml = list(map(int, st1))
ml = sorted(ml)
st1 = ''
for elem in ml:
	st1 += str(elem) + '+'
print(st1[:-1])


def smallest(nums):
	smallest_num = nums[0]
	smallest_index = 0
	for i in range(1, len(nums)):
		if nums[i] < smallest_num:
			smallest_num = nums[i]
			smallest_index = i
	return smallest_index

def sort(nums):
	res = []
	for _ in range(len(nums)):
		new = smallest(nums)
		res.append(nums.pop(new))
	return res

def ksusha():
	input_ = input().split('+')
	ans = '+'
	a = sort(input_)
	print(ans.join(a))
ksusha()


inp = input().split('+')
numbers = []
for element in inp:
	numbers.append(int(element))
numbers.sort()
result = ''
for number in numbers:
	result = result + str(number) + '+'
print(result[0:-1])


numbers = ['1', '2', '3']
arr = []
str = input()
for i in str:
	if i in numbers:
		arr.append(i)
arr.sort()
ans = ''
for i in arr:
	ans += i + '+'
ans = ans[0:len(ans) - 1]
print(ans, sep='', end='\n')


str = input()
n = len(str)
lst = []
for i in range(int(n / 2) + 1):
	lst.append(str[2 * i])
lst.sort()
print('+'.join(lst))


li = input().split('+')
li.sort()
n = []
for i in range(len(li)):
	n.append(li[i])
	n.append('+')
del n[-1]
print(''.join(n))


x = input()
x = x.replace('+', '')
x = sorted(x)
for i in range(1, 2 * len(x) - 1, 2):
	x.insert(i, '+')
x = ''.join(x)
print(x)


n = list(map(int, input().split('+')))
n.sort()
n = [str(k) for k in n]
for i in range(len(n) - 1, 0, -1):
	n.insert(i, '+')
print(''.join(n))


x = input()
l = list(x)
for i in range(len(l)):
	if '+' in l:
		l.remove('+')
l.sort()
x = '+'
print(x.join(l))


n = str(input())
t = []
s = ''
for x in n:
	if x != '+':
		t.append(x)
t.sort()
for x in t:
	s = s + x + '+'
s = s[:-1]
print(s)


a = [str(x) for (index, x) in enumerate(input()) if index % 2 == 0]
print('+'.join((x for x in sorted(a))))


inp = input()
operators = inp.split('+')
sort = []
lowest = int(operators[0])
i = 0
while len(operators) > 0:
	if int(operators[i]) < lowest:
		lowest = int(operators[i])
	i += 1
	if i == len(operators):
		sort.append(lowest)
		operators.remove(str(lowest))
		if operators:
			lowest = int(operators[0])
		i = 0
result = ''
for j in sort:
	if len(result) == 0:
		result += str(j)
	else:
		result += f'+{j}'
print(result)


s = str(input()).split('+')
s.sort()
sj = '+'
sj = sj.join(s)
print(sj)


string = input()
number = []
for i in string:
	if i.isdigit():
		number.append(i)
print('+'.join((i for i in sorted(number))))


n = input()
l = list()
for i in range(0, len(n), 2):
	l.append(int(n[i]))
l.sort()
for i in range(len(l)):
	print(l[i], end='')
	if i != len(l) - 1:
		print('+', end='')


def main():
	a = input()
	b = list(map(int, a.split('+')))
	if len(b) == 1:
		print(b[0])
		return
	b.sort()
	string = ''
	l = len(b)
	for i in range(0, l - 1):
		string += str(b[i]) + '+'
	string += str(b[l - 1])
	print(string)
main()


op = sorted(input().split('+'))
print('+'.join(op))


list_of_numbers = list(map(int, input().split('+')))
for j in range(len(list_of_numbers) - 1):
	for i in range(len(list_of_numbers) - 1):
		if list_of_numbers[i] > list_of_numbers[i + 1]:
			swap = list_of_numbers[i]
			list_of_numbers[i] = list_of_numbers[i + 1]
			list_of_numbers[i + 1] = swap
print(*list_of_numbers, sep='+')


li = []
result = ''
for i in input():
	if i != '+':
		li.append(int(i))
if len(li) == 1:
	print(li[0])
else:
	for s in sorted(li):
		result += str(s) + '+'
print(result[0:len(result) - 1])


li = input().split('+')
li = sorted(li)
for i in range(0, len(li) - 1):
	print(li[i], end='+')
print(li[len(li) - 1])


given_sum = [int(x) for x in input().split('+')]
given_sum.sort()
given_sum = [str(x) for x in given_sum]
new_sum = '+'
print(new_sum.join(given_sum))


str1 = input().split('+')
str1.sort()
str2 = ''
for i in range(0, len(str1), 1):
	if i != len(str1) - 1:
		str2 += str1[i] + '+'
	else:
		str2 += str1[i]
print(str2)


arr = [x for x in input().split('+')]
arr.sort()
print('+'.join(arr))


str = input()
s = str.split('+')
s.sort()
j = '+'.join(s)
print(j)


x = input()
y = x.split('+')
y = sorted(y)
for (index, item) in enumerate(y):
	print(item, end='')
	if index < len(y) - 1:
		print('+', end='')


a = list(map(int, input().split('+')))
a.sort()
s = str(a[0])
if len(a) == 1:
	print(s)
	exit()
for j in range(1, len(a)):
	s = s + '+' + str(a[j])
print(s)


s = input().split('+')
s.sort()
print('+'.join((i for i in s)))


s = str(input())
e = s.split('+')
e.sort()
d = '+'.join(e)
print(d)


str1 = input().replace('+', '')
str1 = sorted(str1)
print('+'.join(str1))


s = input()
l = s.split('+')
l.sort()
s = ''
for i in l:
	s += str(i) + '+'
print(s[0:len(s) - 1])


eq = input()
n1 = 0
n2 = 0
n3 = 0
for i in range(0, len(eq), 2):
	if eq[i] == '1':
		n1 += 1
	elif eq[i] == '2':
		n2 += 1
	else:
		n3 += 1
result = '1+' * n1 + '2+' * n2 + '3+' * n3
print(result[:-1])


__author__ = 'sanu001'
import queue
__read_tokens = queue.Queue()

def next_string():
	while __read_tokens.empty():
		for i in input().split():
			__read_tokens.put(i)
	return __read_tokens.get()

def next_int():
	return int(next_string())

def next_float():
	return float(next_string())

def next_line():
	if not __read_tokens.empty():
		raise Exception('Unclean token cache')
	return input()
s = next_string()
ss = s.split('+')
a = []
for i in ss:
	a.append(int(i))
a = sorted(a)
ss = ''
for i in a:
	ss += str(i) + '+'
print(ss[:-1])


string = str(input())

def merge(sum):
	str_ret = ''
	for i in range(len(sum)):
		str_ret += sum[i]
		if i < len(sum) - 1:
			str_ret += '+'
	return str_ret
i = 0
sumands = []
operands = []
while i < len(string):
	if string[i].isnumeric():
		sumands.append(string[i])
	i += 1
sumands.sort()
str_ret = merge(sumands)
print(str_ret)


n = input()
s1 = s2 = s3 = 0
for i in range(0, len(n), 2):
	if n[i] == '1':
		s1 = s1 + 1
	elif n[i] == '2':
		s2 += 1
	else:
		s3 += 1
res = '1+' * s1 + '2+' * s2 + '3+' * s3
print(res[:-1])


word = input()
word = word.replace('+', '')
L = list(word)
L.sort()
x = '+'.join(L)
print(x)


S = input()
Numbers = S.split('+')
Numbers.sort()
n = len(Numbers)
for i in range(0, n):
	print(Numbers[i], end='')
	if i != n - 1:
		print('+', end='')


a = input()
b = []
for char in a:
	if char.isdigit():
		b.append(int(char))
b.sort()
print(*b, sep='+')


a = list(input())
c1 = a.count('1')
c2 = a.count('2')
c3 = a.count('3')
b = []
b = [1] * c1 + [2] * c2 + [3] * c3
for i in range(0, len(b)):
	if i == len(b) - 1:
		print(b[i])
	else:
		print(b[i], end='+')


string = input().split('+')
list = [int(i) for i in string]
list.sort()
print('+'.join((str(x) for x in list)))


a = input()
l = len(a)
arr = list()
i = 0
while i < l:
	arr.append(a[i])
	i += 2
arr.sort()
val = ''
for e in range(len(arr)):
	if e == len(arr) - 1:
		val += arr[e]
	else:
		val += arr[e]
		val += '+'
print(val)


sum = input()
arr = sum.split('+')
arr = sorted(arr)
sorted = '+'.join(arr)
print(sorted)


x = input().split(sep='+')
x.sort()
for i in range(len(x)):
	print(x[i], end='')
	if i != len(x) - 1:
		print('+', end='')
print()


s = list(input())
l = len(s)
p = []
for i in range(l):
	if s[i] != '+':
		p.append(s[i])
p.sort()
k = len(p)
for j in range(k):
	if j != k - 1:
		print(p[j] + '+', end='')
	else:
		print(p[j])


x = input()
gk = 0
odin = 0
dva = 0
tri = 0
for i in range(len(x)):
	if x[i] == '1':
		odin += 1
	elif x[i] == '2':
		dva += 1
	elif x[i] == '3':
		tri += 1
	else:
		gk += 1
for t in range(odin):
	print(1, end='')
	if gk >= 1:
		gk -= 1
		print('+', end='')
for t1 in range(dva):
	print(2, end='')
	if gk >= 1:
		gk -= 1
		print('+', end='')
for t2 in range(tri):
	print(3, end='')
	if gk >= 1:
		gk -= 1
		print('+', end='')


a = [int(x) for x in input().split('+')]
a.sort()
s = ''
for i in a:
	s += str(i) + '+'
s = s[:len(s) - 1]
print(s)


s = input().split('+')
s.sort()
out = ''
for x in s:
	out += x + '+'
print(out[0:-1])


k = list(map(int, input().strip().split('+')))
k.sort()
k = map(str, k)
m = '+'.join(k)
print(m)


addition = str(input())
if len(addition) > 1:
	add_l = sorted([int(num) for num in addition.split('+')])
	add_l = [str(x) for x in add_l]
	print('+'.join(add_l))
else:
	print(addition)


s = input()
l = []
for i in s:
	if i != '+':
		l.append(i)
z = sorted(l)
print('+'.join(z))


g = input()
li = list(g.split('+'))
li.sort()
res = str(''.join(li))
res = '+'.join(res)
print(res)


ch = ''
l1 = sorted(list(map(int, input().split('+'))))
for i in range(len(l1)):
	ch += str(l1[i]) + '+'
print(ch[:len(ch) - 1])


def heapify(a, i, n):
	l = i
	lc = 2 * i + 1
	rc = 2 * i + 2
	if lc < n and int(a[lc]) > int(a[l]):
		l = lc
	if rc < n and int(a[rc]) > int(a[l]):
		l = rc
	if l != i:
		(a[l], a[i]) = (a[i], a[l])
		heapify(a, l, n)
s = input().replace('+', ' ').split()
if len(s) == 1:
	print(*s)
else:
	for i in range(len(s) // 2, -1, -1):
		heapify(s, i, len(s))
	for i in range(len(s) - 1, 0, -1):
		(s[0], s[i]) = (s[i], s[0])
		heapify(s, 0, i)
	print('+'.join(s))


def main():
	s = input()
	n1 = n2 = n3 = 0
	for i in range(0, len(s), 2):
		if s[i] == '1':
			n1 += 1
		elif s[i] == '2':
			n2 += 1
		else:
			n3 += 1
	ss = '1+' * n1 + '2+' * n2 + '3+' * n3
	print(ss[:-1])
main()


def calculate(s):
	nums = []
	delimiter = '+'
	for c in s:
		if c != delimiter:
			nums += [c]
	nums.sort()
	return delimiter.join(nums)
s = input()
print(calculate(s))


s = str(input())
if len(s) == 1:
	print(s)
else:
	L = s.split('+')
	L.sort()
	print('+'.join(L))


string = input().split('+')
l = sorted(string)
s = ''
for i in range(0, len(string)):
	if i is 0:
		s = s + l[0]
	else:
		s = s + '+' + l[i]
print(s)


n = input()
l = []
if len(n) <= 1:
	print(n)
	exit(0)
else:
	for r in n:
		if r != '+':
			l.append(r)

def quick_sort(sequence):
	if len(sequence) <= 1:
		return sequence
	else:
		greater_than = []
		less_than = []
		pivot = sequence.pop()
		for elem in sequence:
			if elem > pivot:
				greater_than.append(elem)
			else:
				less_than.append(elem)
		return quick_sort(less_than) + [pivot] + quick_sort(greater_than)
sort_list = quick_sort(l)
final = []
for i in sort_list:
	final.append(str(i))
	final.append('+')
remove = final.pop()
print(''.join(final))


import sys
import os
s = input()
e = [int(word) for word in s.split('+')]
e.sort()
o = '+'.join([str(word) for word in e])
print(o)


s = input()
j = s.split('+')
s = ''
for i in sorted(j):
	s += str(i) + '+'
print(s[0:-1])


s = input()
res = s.split('+')
res.sort()
for i in range(0, len(res)):
	if i != len(res) - 1:
		print(f'{res[i]}+', end='')
	else:
		print(f'{res[i]}', end='')


n = input()
if len(n) == 1:
	print(n)
else:
	a = ''
	l = sorted(n.split('+'))
	for i in l:
		a += i + '+'
	b = a[-2::-1][::-1]
	print(b)


x = list(map(int, input().split('+')))
x = sorted(x, key=int)
t = 0
for i in x:
	if t < len(x) - 1:
		print(str(i), end='+')
	else:
		print(str(i))
	t = t + 1


given = input()
L = given.split('+')
L1 = sorted(L)
sum = L1[0]
for i in range(1, len(L1)):
	sum += '+' + L1[i]
print(sum)


e = input().split('+')
print('+'.join(sorted(e)))


string = input().split('+')
dict_ = {'1': '', '2': '', '3': ''}
for i in string:
	dict_[i] += i + '+'
new_string = dict_['1'] + dict_['2'] + dict_['3']
new_string = new_string[:-1]
print(new_string)


lt = input().replace('+', ' ').split()
lts = [int(x) for x in lt]
new_list = [str(x) for x in sorted(lts)]
print('+'.join(new_list))


task = input()
nums = [int(x) for x in task.split('+')]
nums.sort()
ret_string = ''
for num in nums:
	ret_string += str(num) + '+'
ret_string = ret_string[::-1].replace('+', '', 1)[::-1]
print(ret_string)


line_list = map(int, input().split('+'))
count1 = 0
count2 = 0
count3 = 0
for digit in line_list:
	if digit == 1:
		count1 += 1
	elif digit == 2:
		count2 += 1
	elif digit == 3:
		count3 += 1
retval = ''
retval += '1+' * count1
retval += '2+' * count2
retval += '3+' * count3
retval = retval[0:len(retval) - 1]
print(retval)


st = input().split('+')
for i in range(len(st)):
	st[i] = int(st[i])
st.sort()
for i in range(len(st)):
	if i < len(st) - 1:
		print(st[i], end='+')
	else:
		print(st[i])


s = input()
number_list = []
for i in s:
	if i.isdigit():
		number_list.append(i)
easy = sorted(number_list)
print('+'.join(easy))


import sys
s = input()
if len(s) == 1:
	print(s)
	sys.exit()
l = s.split('+')
l.sort()
x = '+'.join(l)
print(x)


s = input().split('+')
s.sort()
d = list()
for i in range(len(s)):
	d.append(int(s[i]))
for i in range(len(d)):
	if i == len(d) - 1:
		print(d[i])
	else:
		print(d[i], end='+')


x = input()
result = []
final = ''
for i in x:
	if i != '+':
		result.append(i)
result.sort()
for i in result:
	final += i + '+'
final = final[:-1]
print(final)


x = list(input())
j = []
final = []
l1 = len(x)
c = 0
c1 = 0
while c < l1:
	if x[c] == '1' or x[c] == '2' or x[c] == '3':
		j.append(x[c])
	c += 1
j.sort()
l2 = len(j)
while c1 < l2:
	final.append(j[c1])
	if c1 + 1 != l2:
		final.append('+')
	c1 += 1
print(''.join(final))


s = input()
a = sorted(s.split('+'))
l = ' '
for i in range(len(a)):
	if i == len(a) - 1:
		l += str(a[i])
	else:
		l += str(a[i]) + '+'
print(l)


q = input()
if len(q) != 1:
	opts = list(q[0::2])
	opts.sort()
	print('+'.join(opts))
else:
	print(q)


sList = list(map(int, input().split('+')))
kList = []
for i in range(len(sList)):
	minimum = 0
	for j in range(len(sList)):
		if sList[minimum] > sList[j]:
			minimum = j
	kList.append(sList[minimum])
	sList.pop(minimum)
print('+'.join([str(i) for i in kList]))


n = input()
n = n.split('+')
n = sorted(n)
res = ''
for i in range(0, len(n)):
	res += str(n[i])
	if i != len(n) - 1:
		res += '+'
print(res)


word = input()
co1 = 0
co2 = 0
co3 = 0
hsl = ''
for i in range(len(word)):
	if word[i] == '1':
		co1 = co1 + 1
	elif word[i] == '2':
		co2 = co2 + 1
	elif word[i] == '3':
		co3 = co3 + 1
for i in range(co1):
	hsl = hsl + '1+'
for i in range(co2):
	hsl = hsl + '2+'
for i in range(co3):
	hsl = hsl + '3+'
print(hsl[:-1])


user_input = input()
i = len(user_input) - 1
li = []
while i >= 0:
	li.append(int(user_input[i]))
	i -= 2
li.sort()
for j in range(0, len(li) - 1):
	print(li[j], end='')
	print('+', end='')
print(li[len(li) - 1], end='')


s = str(input())
if '+' not in s:
	print(s)
else:
	arr = [int(x) for x in s.split('+')]
	arr.sort()
	print('+'.join([str(x) for x in arr]))


M = list(map(int, input().split('+')))
for i in range(len(M) - 1):
	for j in range(len(M) - 1):
		if M[j] > M[j + 1]:
			S = M[j]
			M[j] = M[j + 1]
			M[j + 1] = S
print(*M, sep='+')


sm = input()
print(('1+' * sm.count('1') + '2+' * sm.count('2') + '3+' * sm.count('3'))[:-1])


ip = input()
l = ip.split('+')
l.sort()
s = ''
for i in l:
	s += i + '+'
s = s[:-1]
print(s)


n1 = input()
st = ''
n = len(n1)
for i in range(0, n, 2):
	st += n1[i]
ms = list(map(int, st))
ms = sorted(ms)
for i1 in range(len(ms)):
	i = ms[i1]
	if i1 != len(ms) - 1:
		print(i, end='+')
	else:
		print(i)


s = input()
counts = [0, 0, 0]
for i in range(0, len(s), 2):
	counts[ord(s[i]) - ord('1')] += 1
s1 = '+1' * counts[0]
s2 = '+2' * counts[1]
s3 = '+3' * counts[2]
print((s1 + s2 + s3)[1:])


class HelpfulMaths:

	@staticmethod
	def solve(statement):
		sorted_statement = sorted(statement.split('+'))
		return '+'.join(sorted_statement)

def main():
	statement = input()
	hm = HelpfulMaths()
	print(hm.solve(statement))
main()


from sys import stdin, stdout
s = list(map(int, stdin.readline().strip().split('+')))
r = '+'.join((str(x) for x in sorted(s)))
print(r)


print('+'.join(map(str, sorted(list(map(int, input().split(sep='+')))))))


expression = input()
values = {}
values['1'] = 0
values['2'] = 0
values['3'] = 0
for i in range(len(expression)):
	if expression[i] != '+':
		values[expression[i]] += 1
newExpression = ''
for count in range(values['1']):
	newExpression += '1'
	newExpression += '+'
for count in range(values['2']):
	newExpression += '2'
	newExpression += '+'
for count in range(values['3']):
	newExpression += '3'
	newExpression += '+'
print(newExpression[:-1])


def tolist(x):
	return list(x)
x = input()
g = tolist(x)
l = []
for i in range(len(g)):
	if g[i] != '+':
		l.append(int(g[i]))
l.sort()
for i in range(len(l) - 1):
	print(l[i], end='')
	print('+', end='')
print(l[-1])


s = input()
s = s.split('+')
lx = list()
for i in range(len(s)):
	lx.append(s[i])
lx.sort()
s = ''
for i in range(len(lx)):
	s = s + lx[i] + '+'
s = s[:-1]
print(s)


temp = ''
j = 0
i = 0
s = input()
d = len(s)
l = s.split('+')
l.sort()
e = len(l)
while i < d:
	if i % 2 != 0:
		temp += '+'
		i = i + 1
	else:
		temp += l[j]
		j += 1
		i = i + 1
print(temp)


summer = input().split('+')
summer.sort()
print('+'.join(summer))


vars = str(input())
temp_lst = [int(i) for i in vars.split('+')]
temp_lst.sort()
testa = ''
for i in temp_lst:
	testa += str(i) + '+'
print(testa[:-1])


z = list(input().split('+'))
y = '+'.join(sorted(z))
print(y)


def sortNum():
	numbers = input()
	numbers = numbers.split('+')
	intList = []
	for item in numbers:
		intList.append(int(item))
	intList = sorted(intList)
	output = ''
	for i in range(len(intList) - 1):
		output += str(intList[i])
		output += '+'
	output += str(intList[len(intList) - 1])
	print(output)
sortNum()


def second_ver():
	a = input().split('+')
	s = '+'.join(sorted(a))
	print(s)
second_ver()


import sys

def solve():
	s = input().split('+')
	ans = ''.join([a + b for (a, b) in zip(sorted(s), '+' * len(s))])
	print(ans[:-1])
solve()


import sys
numbers = list(map(int, input().split('+')))
for i in range(1, len(numbers)):
	x = numbers[i]
	j = i
	while j > 0 and numbers[j - 1] > x:
		numbers[j] = numbers[j - 1]
		j = j - 1
	numbers[j] = x
result = ''
for i in range(0, len(numbers)):
	if i == len(numbers) - 1:
		result = result + str(numbers[i])
	else:
		result = result + str(numbers[i]) + str('+')
print(result)


l = [0, 0, 0, 0]
s = '123'
for x in input().replace('+', ''):
	l[int(x)] = int(l[int(x)]) + 1
x = ''
print('+'.join(''.join((x + char * l[int(char)] for char in s))))


import sys
xenia_input = input()
xenia_input = xenia_input.split('+')
output = sorted([int(f) for f in xenia_input])
output = [str(f) for f in output]
print('+'.join(output))


def main():
	s = input().split('+')
	s = sorted(s)
	res = ''
	for i in range(len(s)):
		if i == len(s) - 1:
			res += s[i]
			break
		res += s[i] + '+'
	print(res)
main()


import sys
s = [int(i) for i in input().split('+')]
s.sort()
print('+'.join([str(i) for i in s]))


ch = str(input())
l = ch.split('+')
l.sort()
print('+'.join(l))


str1 = input()
n1 = str1.count('1')
n2 = str1.count('2')
n3 = str1.count('3')
if n3 != 0:
	print('1+' * n1 + '2+' * n2 + '3+' * (n3 - 1) + '3')
elif n2 != 0:
	print('1+' * n1 + '2+' * (n2 - 1) + '2')
else:
	print('1+' * (n1 - 1) + '1')


n = input()
l = list(map(int, n.split('+')))
l.sort()
l = list(map(str, l))
ns = '+'.join(l)
print(ns)


s = input()
if len(s) == 1:
	print(s)
else:
	l = s.split('+')
	l.sort()
	s1 = '+'.join(l)
	print(s1)


def insertion_sort(array_list):
	for i in range(1, len(array_list)):
		temp = array_list[i]
		k = i
		while k > 0 and temp < array_list[k - 1]:
			array_list[k] = array_list[k - 1]
			k -= 1
		array_list[k] = temp
	return array_list
input_data = input('')
data_split = input_data.split('+')
plus = '+'
print(plus.join(insertion_sort(data_split)))


p = input().split('+')
p.sort()
for i in range(len(p)):
	if i != 0:
		print('+' + p[i], end='')
	else:
		print(p[i], end='')
print()


import re
s = input()
ans = ''
r = re.findall('1', s)
for _ in r:
	ans += '1+'
r = re.findall('2', s)
for _ in r:
	ans += '2+'
r = re.findall('3', s)
for _ in r:
	ans += '3+'
print(ans[:-1])


def Main():
	l = [int(x) for x in input().split('+')]
	l.sort()
	s = ''
	for i in l:
		s = s + '+' + str(i)
	s = s.lstrip('+')
	print(s)
Main()


a = input()
l = []
for i in range(len(a)):
	if a[i] != '+':
		l.append(a[i])
l = sorted(l)
print('+'.join(l))


st = input()
i = 0
k = 0
mas = []
while i < len(st):
	mas.append(st[i])
	i += 2
	k += 1
mas.sort()
pr = mas[0]
for i in range(1, k):
	pr = pr + '+' + mas[i]
	i += 1
print(pr)


s = input()
if len(s) == 1:
	print(s)
else:
	l1 = [c for c in s.split('+')]
	l2 = []
	for i in sorted(l1):
		l2.append(i)
		l2.append('+')
	l2 = l2[:-1]
	st = ''.join([str(elem) for elem in l2])
	print(st)


st = input()
li = [i for i in st if i.isnumeric()]
ans = []
li.sort()
for i in li:
	ans.append(i)
	ans.append('+')
ans.pop()
print(''.join(ans))


from functools import reduce
import os
import sys
from math import *
from collections import *
from fractions import *
from bisect import *
from heapq import *
from io import BytesIO, IOBase
input = lambda : sys.stdin.readline().rstrip('\r\n')

def value():
	return tuple(map(int, input().split()))

def arr():
	return [int(i) for i in input().split()]

def sarr():
	return [int(i) for i in input()]

def inn():
	return int(input())
mo = 1000000007
s = [str(x) for x in input()]
res = []
for i in s:
	if i != '+':
		res += [int(i)]
res.sort()
for i in range(len(res) - 1):
	print(res[i], '+', sep='', end='')
print(res[-1])


nums = [int(x) for x in input().split('+')]
nums.sort()
for i in range(len(nums)):
	print(nums[i], end='')
	if i < len(nums) - 1:
		print('+', end='')
print()


string = input()
nums = []
for i in range(0, len(string), 2):
	nums.append(int(string[i]))
nums.sort()
output = str(nums[0])
for i in range(1, len(nums)):
	output += '+' + str(nums[i])
print(output)


n = list(map(str, input().split('+')))
n = sorted(n)
k = '+'.join(n)
print(k)


def sum_inc(s):
	numbers = s.split(sep='+')
	numbers = [int(n) for n in numbers]
	numbers = sorted(numbers)
	first = True
	res = ''
	for n in numbers:
		if first:
			first = False
		else:
			res = res + '+'
		res = res + str(n)
	return res
s = input()
print(sum_inc(s))


sum_exp = input()
sum_exp = sum_exp.replace('+', '')
sum_exp = list(sum_exp)
sum_exp.sort(reverse=True)
output = ''
for i in range(len(sum_exp) - 1):
	output += sum_exp.pop() + '+'
output += sum_exp.pop()
print(output)


s = input()
l1 = s.split('+')
l1.sort()
s = '+'.join(l1)
print(s)


ip = str(input())
summands = [int(i) for i in ip.split('+')]
summands.sort()
print('+'.join([str(i) for i in summands]))


a = input().split('+')
a.sort()
for ii in range(len(a) - 1):
	i = a[ii]
	print(i, end='+')
print(a[-1])


n = input()
s = [int(n[i]) for i in range(0, len(n), 2)]
s = sorted(s)
for i in range(len(s)):
	if i == len(s) - 1:
		print(s[i])
	else:
		print('{}+'.format(s[i]), end='')


listans = [n for n in input()]
for i in listans:
	if i == '+':
		listans.remove('+')
javab = []
for i in range(len(listans)):
	a = min(listans)
	javab.append(a)
	listans.remove(a)
counter = 0
for i in javab:
	counter += 1
	if counter % 2 == 0:
		javab.insert(counter - 1, '+')
print(''.join(javab))


a = list(input())
b = ''
chisla = []
for i in range(0, len(a), 2):
	chisla += a[i]
chisla = sorted(chisla)
for i in range(len(chisla)):
	b += chisla[i] + '+'
print(b[:-1])


n = input()
n = sorted(n)
i = (len(n) - 1) // 2
if len(n) == 1:
	print(n[0])
else:
	while i < len(n):
		if i == len(n) - 1:
			print(n[i], end='')
		else:
			print(n[i] + '+', end='')
		i = i + 1


def converter(str):
	numbers = str.split('+')
	for i in range(0, len(numbers)):
		for j in range(0, len(numbers) - 1):
			if numbers[j] > numbers[j + 1]:
				(numbers[j], numbers[j + 1]) = (numbers[j + 1], numbers[j])
	reformatted_string = ''
	for i in range(0, len(numbers)):
		if i == 0:
			reformatted_string = reformatted_string + numbers[i]
		else:
			reformatted_string = reformatted_string + '+' + numbers[i]
	return reformatted_string
x = input()
print(converter(x))


sumNums = input().split('+')
sumNums.sort()
print('+'.join(sumNums))


ans = []
for i in input():
	if i != '+':
		ans.append(i)
print(*sorted(ans), sep='+')


in_expression = input()
digits = sorted(in_expression.split('+'))
out_expression = '+'.join(digits)
print(out_expression)


s = input()
mas = '+'
k = [s]
k.append(s.replace('+', ' ').split())
k = k[1]
k.sort()
s = str(k).replace(']', '')
s = s.replace('[', '')
s = s.replace("'", '')
s = s.replace(',', '')
print(s.replace(' ', '+'))


n = str(input())
i = len(n)
a = str()
b = str()
c = str()
co = ''
for j in range(0, i, 1):
	r = n[j]
	if r == str(1):
		a = a + n[j]
	elif r == str(2):
		b = b + n[j]
	elif r == str(3):
		c = c + n[j]
con = a + b + c
f = len(con)
for k in range(0, f, 1):
	if k + 1 < f:
		co = co + con[k] + str('+')
	else:
		co = co + con[k]
print(co)


string = input()
list = string.split('+')
list.sort()
for i in range(len(string)):
	t = i // 2
	if i % 2 == 0:
		print(list[t], end='')
	else:
		print('+', end='')


s = input()
ind_1 = ind_2 = ind_3 = 0
for i in range(0, len(s), 2):
	if s[i] == '1':
		ind_1 += 1
	elif s[i] == '2':
		ind_2 += 1
	else:
		ind_3 += 1
s_new = '1+' * ind_1 + '2+' * ind_2 + '3+' * ind_3
print(s_new[:-1])


equation = input().split('+')
ln = len(equation)
equation.sort()
for i in range(0, ln):
	print(equation[i], end='')
	if i < ln - 1:
		print('+', end='')
print('')


s = input()
i = 0
j = 0
s1 = 0
s2 = 0
s3 = 0
n = len(s)
while i < n:
	if s[i] == '1':
		s1 += 1
	elif s[i] == '2':
		s2 += 1
	elif s[i] == '3':
		s3 += 1
	i += 1
i = 0
while i < s1:
	print('1', end='')
	i += 1
	j += 1
	if j < s1 + s2 + s3:
		print('+', end='')
i = 0
while i < s2:
	print('2', end='')
	i += 1
	j += 1
	if j < s1 + s2 + s3:
		print('+', end='')
i = 0
while i < s3:
	print('3', end='')
	i += 1
	j += 1
	if j < s1 + s2 + s3:
		print('+', end='')


m = input()
n = [int(s) for s in m.split('+')]
n.sort()
for i in range(len(n)):
	if i != len(n) - 1:
		print(n[i], end='+')
	else:
		print(n[i])


list = input().split('+')
list.sort()
a = list.pop()
for x in list:
	print(x, end='+')
print(a)


def main():
	n = sorted(list(input().split('+')))
	s = ''
	for i in range(len(n)):
		s = s + str(n[i])
		if i != len(n) - 1:
			s = s + '+'
	print(s)
main()


s = input()
s = s.split('+')
arr = []
for x in s:
	arr.append(int(x))
arr.sort()
s = ''
for x in range(len(arr)):
	if x == len(arr) - 1:
		s += str(arr[x])
	else:
		s += str(arr[x]) + '+'
print(s)


from sys import stdin, stdout, exit as sys_ret
(f_input, f_print, f_flush) = (stdin.readline, stdout.write, stdout.flush)
f_print('+'.join(sorted(f_input().replace('\n', '').split('+'))))


text = input().split('+')
t = sorted(text)
l = ''
for i in t:
	l += i + '+'
print(l[:-1])


s = ''
outputString = ''
s = input()
a = []
i = 0
while i < len(s):
	a.append(s[i])
	i += 2
for i in range(len(a)):
	for j in range(len(a) - i):
		if j <= len(a) - 2:
			b = 0
			if a[j] > a[j + 1]:
				b = a[j]
				a[j] = a[j + 1]
				a[j + 1] = b
x = 0
while x <= len(a) - 1:
	if x != len(a) - 1:
		outputString += str(a[x]) + '+'
	else:
		outputString += str(a[i])
	x += 1
print(outputString)


i = input().split('+')
i.sort()
for _ in range(len(i) - 1):
	print(i[_], end='+')
print(i[len(i) - 1], end='')


unordered_numbers = [int(x) for x in input().split('+')]
ordered_numbers = sorted(unordered_numbers)
for i in range(len(ordered_numbers)):
	if i != len(ordered_numbers) - 1:
		print(ordered_numbers[i], end='+')
	else:
		print(ordered_numbers[i])


n = input()
new = n.split('+')
new = sorted(new)
result = '+'.join(new)
print(result)


s = input()
l = s.split('+')
test_list = [int(i) for i in l]
test_list.sort()
test_list = [str(i) for i in test_list]
sep = '+'
final_str = sep.join(test_list)
print(final_str)


x = input()
y = x.split('+')
z = sorted(y)
print(*z, sep='+')


num_list = []
string = input()
for letter in string:
	if letter != '+':
		num_list.append(letter)
num_list.sort()
print('+'.join(num_list))


s = input()
arr = []
for num in s:
	if num == '1' or num == '2' or num == '3':
		arr.append(int(num))
arr.sort()
print(str(arr).strip('[').strip(']').replace(', ', '+'))


aux = []
a = [int(x) for x in input().split('+')]
for i in range(len(a)):
	a = sorted(a)
	aux.append(f'{a[i]}+')
res = ''.join(aux)
print(res[0:-1])


s = str(input())
n1 = s.count('1')
n2 = s.count('2')
n3 = s.count('3')
s1 = ''
for i in range(n1):
	s1 = s1 + '1' + '+'
for i in range(n2):
	s1 = s1 + '2' + '+'
for i in range(n3):
	s1 = s1 + '3' + '+'
n = len(s1)
s1 = s1[0:n - 1]
print(s1)


a = input().split('+')
ans = ''
for j in range(len(a) - 1, 0, -1):
	for i in range(j):
		while a[i] > a[i + 1]:
			(a[i], a[i + 1]) = (a[i + 1], a[i])
for i in range(len(a)):
	if i != len(a) and i != 0:
		ans += '+'
	ans += str(a[i])
print(ans)


w = list(map(lambda x: int(x), input().split('+')))
w = sorted(w)
s = ''
for i in w:
	s += str(i) + '+'
print(s[:-1])


s = input()
l = list(s)
lep = len(l)
h = []
e = ' '
for i in l:
	if i != '+':
		h.append(i)
h.sort()
le = len(h)
for i in range(le):
	if i != le - 1:
		e += h[i] + '+'
	else:
		e += h[i]
print(e)


number = list(input().split('+'))
number.sort()
x = '+'
x = x.join(number)
print(x)


eq = input().strip().split('+')
eq.sort()
result = ''
for i in eq:
	result += i + '+'
print(result.strip('+'))


a = list(map(int, input().split('+')))
b = a
b.sort()
ch = 1
c = ''
for i in range(len(b)):
	c += str(b[i])
	c += '+'
print(c[:len(c) - 1])


import sys
for line in sys.stdin:
	nums = line.strip().split('+')
	nums.sort()
	print('+'.join(nums))
	break


x = input().split('+')
counter1 = 0
counter2 = 0
counter3 = 0
counter = len(x)
for i in range(len(x)):
	if int(x[i]) == 1:
		counter1 += 1
	elif int(x[i]) == 2:
		counter2 += 1
	elif int(x[i]) == 3:
		counter3 += 1
for i in range(counter1):
	if counter == 1:
		print('1')
	else:
		print('1', end='+')
		counter -= 1
for i in range(counter2):
	if counter == 1:
		print('2')
	else:
		print('2', end='+')
		counter -= 1
for i in range(counter3):
	if counter == 1:
		print('3')
	else:
		print('3', end='+')
		counter -= 1


s = input()
a = [s.count('1'), s.count('2'), s.count('3')]
res = ''
i = 0
while i <= 2 or a[2] > 0:
	if a[i] > 0:
		res += chr(i + 49)
		res += '+'
		a[i] -= 1
	else:
		i += 1
print(res[:-1])


f = list(map(int, input().split('+')))
f.sort()
for z in range(len(f)):
	print(f[z], end='')
	if z < len(f) - 1:
		print('+', end='')


n = input()
a = list()
l = len(n)
for i in range(l):
	if ord(n[i]) != 43:
		a.append(int(n[i]))
a.sort()
l = len(a)
for i in range(l - 1):
	print(a[i], end='+')
print(a[l - 1])


str_0 = input()
list_0 = str_0.split('+')
list_0.sort()
print('+'.join(list_0))


s = list(map(int, input().replace('+', ' ').split(' ')))
n = ''
for i in range(max(s) + 1):
	if i in s:
		count = s.count(i)
		for j in range(count):
			if n != '' and n[-1] == '+':
				n = n + str(i)
			else:
				n = n + '+' + str(i)
print(n[1:])


a = input()
lst = []
for i in range(0, len(a), 2):
	lst.append(a[i])
lst.sort()
for i in range(len(lst)):
	print(lst[i], end='')
	if i != len(lst) - 1:
		print('+', end='')


def main():
	str = input().split('+')
	str = sorted(str)
	str = '+'.join(str)
	print(str)
main()


print('+'.join(sorted(input()[::2])))


def func(string1):
	if 0 < len(string1) <= 100:
		array = string1.split('+')
		array.sort()
		resultString = ''
		for i in range(len(array)):
			resultString += array[i] + '+'
		print(resultString[0:len(resultString) - 1])
str1 = input()
func(str1)


from collections import Counter
series = input().strip()
counts = Counter(series)
nums = ['1'] * counts['1'] + ['2'] * counts['2'] + ['3'] * counts['3']
print('+'.join(nums))


s = input()
x = s.replace('+', '')
y = sorted(x)
z = '+'.join(y)
print(z)


fs = [x for x in input().split('+')]
fs = list(map(int, fs))
fs.sort()
print(*fs, sep='+')


n = input()
num = n.split('+')
num.sort()
o = '+'.join(num)
print(o)


a = list(map(int, input().split('+')))
b = sorted(a)
for x in range(len(a) - 1):
	print(b[x], end='+')
print(b[-1])


fin = input()
fin = fin.replace('+', '')
fin = list(fin)
fin = list(map(int, fin))
fin.sort()
l = []
for f in fin:
	l.append(str(f))
	l.append('+')
l.pop(-1)
print(''.join(l))


def inp():
	return int(input())

def inlt():
	return list(map(int, input().split()))

def insr():
	s = input()
	return list(s[:len(s)])

def invr():
	return map(int, input().split())
d = insr()
L = []

def sansplus(str):
	n = len(str)
	for i in range(n):
		if str[i] != '+':
			L.append(str[i])
	return L
st1 = sansplus(d)
st2 = sorted(st1)

def func(L):
	ch = st2[0]
	n = len(L)
	for i in range(1, n):
		ch = ch + '+' + L[i]
	return ch
print(func(st2))


n = input()
if len(n) <= 100:
	a = []
	for i in range(0, len(n), 2):
		a.append(n[i])
	for i in range(0, len(a)):
		a[i] = int(a[i])
	for i in range(0, len(a)):
		for j in range(i, len(a)):
			if a[i] > a[j]:
				(a[i], a[j]) = (a[j], a[i])
	for i in range(0, len(a)):
		print(a[i], end='')
		if i != len(a) - 1:
			print('+', end='')


x = input().split('+')
x.sort()
for index in range(len(x) - 1):
	print(x[index], end='+')
print(x[-1])


aList = input().split('+')
aList.sort()
for i in range(len(aList) - 1):
	print(aList[i], end='+')
print(aList[-1])


a = []
s = input()
for i in range(len(s)):
	if s[i] != '+':
		a.append(int(s[i]))
a.sort()
for i in range(len(a)):
	if i + 1 < len(a):
		print('{}+'.format(a[i]), end='')
	else:
		print(a[i])


s = input()
l = (len(s) + 1) // 2
s = s.split('+')
a = 0
b = 0
c = 0
for i in range(l):
	if s[i] == '1':
		a = a + 1
	if s[i] == '2':
		b = b + 1
	if s[i] == '3':
		c = c + 1
out = ''
for i in range(a):
	out = out + '1+'
for i in range(b):
	out = out + '2+'
for i in range(c):
	out = out + '3+'
print(out[0:-1])


numbers = input().split('+')
numbers = [int(number) for number in numbers]
numbers.sort()
res = ''
for i in range(len(numbers) - 1):
	res += str(numbers[i]) + '+'
res += str(numbers[-1])
print(res)


s = input()
a = []
for i in range(len(s)):
	if i % 2 == 0:
		a.append(s[i])
a.sort()
p = '+'
print(p.join(a))


num = input().split('+')
num.sort()
j = 0
for i in num:
	if j == len(num) - 1:
		print(f'{i}', end='')
	else:
		print(f'{i}+', end='')
	j += 1


print('+'.join(sorted(list(input().split('+')))), end='')


s = input()
n1 = 0
n2 = 0
n3 = 0
for i in range(0, len(s)):
	if s[i] == '1':
		n1 += 1
	if s[i] == '2':
		n2 += 1
	if s[i] == '3':
		n3 += 1
for j in range(0, len(s) + 1):
	if j % 2 != 0 and n1 > 0:
		print('1', end='')
		n1 -= 1
	elif j % 2 != 0 and n2 > 0:
		print('2', end='')
		n2 -= 1
	elif j % 2 != 0 and n3 > 0:
		print('3', end='')
		n3 -= 1
	elif j % 2 == 0 and j != 0:
		print('+', end='')


s = [int(x) for x in input().split('+')]
s.sort()
line = ''
for i in range(len(s)):
	line += str(s[i])
	if i != len(s) - 1:
		line += '+'
print(line)


l = input()
l = l.split('+')
l.sort()
resp = ''
for i in range(len(l) - 1):
	resp += l[i] + '+'
resp += l[-1]
print(resp)


s = input()
s1 = []
for i in range(len(s)):
	if i % 2 == 0:
		s1.append(s[i])
s1.sort()
k = len(s1)
print(s1[0], end='')
for i in range(1, k):
	print('+' + s1[i], end='')


s = input()
l = []
for i in range(0, len(s), 2):
	l.append(s[i])
m = sorted(l)
for j in range(0, len(m)):
	print(m[j], end='')
	if j < len(m) - 1:
		print('+', end='')


a = input()
l = list(a)
one = 0
two = 0
three = 0
s = []
for i in range(0, len(l), 2):
	if l[i] == '1':
		one += 1
	elif l[i] == '2':
		two += 1
	elif l[i] == '3':
		three += 1
for p in range(one):
	s.append('1')
	if two != 0 or three != 0:
		s.append('+')
	elif p < one - 1:
		s.append('+')
for q in range(two):
	s.append('2')
	if three != 0:
		s.append('+')
	elif q < two - 1:
		s.append('+')
for r in range(three):
	s.append('3')
	if r < three - 1:
		s.append('+')
sum = ''.join(s)
print(sum)


s = input()
k = ''
for i in range(len(s)):
	if not i & 1:
		k += s[i]
k = sorted(k)
for i in range(len(k)):
	if i != len(k) - 1:
		print(k[i] + '+', end='')
	else:
		print(k[i])


def change_sum_exp(exp):
	numbers = [int(ch) for ch in exp.split('+')]
	numbers.sort()
	numbers = [str(num) for num in numbers]
	print('+'.join(numbers))

def read_line():
	exp = input()
	return exp
exp = read_line()
change_sum_exp(exp)


arr = list(input())
li = []
count_ = 0
n = len(arr)
for i in range(n):
	if arr[i] == '+':
		count_ += 1
	else:
		li.insert(0, arr[i])
if count_ == 0:
	print(*li)
else:
	li.sort()
	for i in range(len(li)):
		if i == len(li) - 1:
			print(li[i])
			break
		print(li[i] + '+', end='')


x = input()
temp = 0
list1 = []
for i in range(len(x)):
	list1.append(x[i])
for i in range(len(list1), 0, -2):
	for j in range(0, i - 2):
		if list1[j] > list1[j + 2]:
			temp = list1[j]
			list1[j] = list1[j + 2]
			list1[j + 2] = temp
for i in range(len(list1)):
	print(list1[i], end='', sep='')


li = input().split('+')
li2 = sorted(li)
print('+'.join(li2))


s = input()
x = list(s.replace('+', ''))
x.sort()
if len(x) > 1:
	print(*x, sep='+')
else:
	print(s)


import collections
entrada = input().split('+')
vector_salida = []
contador = collections.Counter(entrada)
if contador[1] + contador[2] + contador[3] == 1:
	salida = contador['1'] * '1' + contador['2'] * '2' + contador['3'] * '3'
else:
	for j in range(0, len(entrada)):
		if j < len(entrada):
			if j < contador['1']:
				if j == 0:
					salida = '1'
				else:
					salida = salida + '+' + '1'
			if j >= contador['1'] and j < contador['2'] + contador['1']:
				if j == 0:
					salida = '2'
				else:
					salida = salida + '+' + '2'
			if j >= contador['1'] + contador['2'] and j < contador['1'] + contador['2'] + contador['3']:
				if j == 0:
					salida = '3'
				else:
					salida = salida + '+' + '3'
print(salida)


def stringtonum(string):
	i = 0
	number = []
	array1 = []
	array = []
	string = string + '+'
	while i < len(string):
		if string[i] != '+':
			number.append(string[i])
		else:
			array.append(number)
			number = []
		i = i + 1
	j = 0
	while j < len(array):
		k = 0
		s = ''
		while k < len(array[j]):
			s = s + array[j][k]
			k = k + 1
		s = int(s)
		array1.append(s)
		j = j + 1
	l = 0
	return array1
s = input()
result = stringtonum(s)
i = 0
o = 0
tw = 0
th = 0
while i < len(result):
	if result[i] == 1:
		o = o + 1
	elif result[i] == 2:
		tw = tw + 1
	elif result[i] == 3:
		th = th + 1
	i = i + 1
final = []
i = 0
j = 0
k = 0
while i < o:
	final.append('1')
	i = i + 1
while j < tw:
	final.append('2')
	j = j + 1
while k < th:
	final.append('3')
	k = k + 1
l = 0
s = '+'.join(final)
print(s)


import math as mt
import sys
from collections import *
inf = float('inf')

def ii():
	return int(input())

def mii():
	return map(int, input().split())

def lii():
	return list(map(int, input().split()))

def gmat(n, m):
	return [[0] * m for _ in range(n)]

def imat(n):
	return [list(mii()) for _ in range(n)]
try:
	sys.stdin = open('data\\a.in', 'r')
	input = sys.stdin.readline
except:
	pass
s = input()
l = [int(i) for i in s if i.isdigit()]
l.sort()
res = ''
for i in range(len(l)):
	if i != len(l) - 1:
		res += str(l[i]) + '+'
	else:
		res += str(l[i])
print(res)


strs = input().split('+')
strs.sort()
print('+'.join(strs))


t = input().split('+')
t.sort()
out = ''
for i in range(len(t)):
	if i > 0:
		out = out + '+'
	out = out + t[i]
print(out)


n = input()
lst = []
for c in n:
	if c.isdigit():
		lst.append(c)
lst = sorted(lst)
s = ''
for (idx, c) in enumerate(lst):
	if idx != len(lst) - 1:
		s += str(c) + '+'
	else:
		s += str(c)
print(s)


n = input()
x = [i for i in str(n)]
x1 = ['+']
l = []
for i in x:
	if i not in x1:
		l.append(i)
l.sort()
s = ''
for i in l:
	s = s + i
	s = s + '+'
le = len(s)
print(s[:le - 1])


vstup = list(map(int, input().split('+')))
vstup = sorted(vstup)
strink = ''
for i in vstup:
	strink += str(i) + '+'
print(strink[:-1])


a = input()
if '+' in a:
	lst = a.split('+')
	length = len(lst)
	for i in range(length):
		lst[i] = int(lst[i])
	lst = sorted(lst)
	for i in range(length - 1):
		print(str(lst[i]) + '+', end='')
	print(lst[-1])
else:
	print(a)


list = [int(x) for x in input().split('+')]
m = list.sort()
n = len(list)
output = []
for i in range(n):
	x = list[i]
	x = str(x)
	output.append(x)
print('+'.join(output))


x = input()
x = x.split('+')
for i in range(len(x)):
	x[i] = int(x[i])
x = sorted(x)
for i in range(len(x)):
	x[i] = str(x[i])
s = '+'
s = s.join(x)
print(s)


x = input()
l = list(map(int, x.split('+')))
l.sort()
for i in range(len(l) - 1):
	print(l[i], '+', end='', sep='')
print(l[-1])


pieces = input().split('+')
x = ''
for i in range(pieces.count('1')):
	x = x + '1+'
for i in range(pieces.count('2')):
	x = x + '2+'
for i in range(pieces.count('3')):
	x = x + '3+'
print(x[0:len(x) - 1])


s = input()

def check_num(s):
	numlist = []
	for char in s:
		if char.isnumeric():
			numlist.append(char)
	return numlist

def check_order(alist):
	for passnum in range(len(alist) - 1, 0, -1):
		for i in range(passnum):
			if alist[i] > alist[i + 1]:
				temp = alist[i]
				alist[i] = alist[i + 1]
				alist[i + 1] = temp
	output = ''
	for j in range(len(alist)):
		output += alist[j]
		if j != len(alist) - 1:
			output += '+'
	return output
print(check_order(check_num(s)))


def c():
	s = input()
	s.replace('+', ',')
	new_list = sorted(s.replace('+', ',').split(','), key=lambda x: int(x))
	she = ''
	for i in new_list:
		she += i
		she += '+'
	bb = []
	for b in she:
		bb.append(b)
	bb.pop()
	y = ''
	for k in bb:
		y += k
	print(y)
c()


s = input()
a = []
c = 0
for i in s:
	if i == '+':
		c = c + 1
	else:
		a.append(i)
a.sort()
for i in a:
	print(i, end='')
	if c > 0:
		print('+', end='')
		c = c - 1


s = input()
l = [0, 0, 0]
for i in range(0, len(s), 2):
	l[int(s[i]) - 1] += 1
s1 = ''
for i in range(3):
	for j in range(l[i]):
		s1 = s1 + str(i + 1) + '+'
print(s1[:len(s1) - 1])


s = input()
l = list()
s1 = str()
for i in range(0, len(s), 2):
	l.append(s[i])
l.sort()
for i in range(len(l)):
	s1 = s1 + str(l[i]) + '+'
print(s1[:-1])


string = input().split('+')
string = sorted((c for c in string))
print('+'.join((c for c in string)))


exercice = input()
unaranged_list = exercice.split('+')
ranged_list = sorted(unaranged_list)
result = ''
for elem in ranged_list:
	result += f'{elem}+'
result = result[:-1]
print(result)


s = [int(i) for i in input().split('+')]
s = sorted(s)
print('+'.join((str(num) for num in s)))


string = input()
new_string = ''
x = 0
num_of_1 = 0
num_of_2 = 0
num_of_3 = 0
for i in range(int((len(string) + 1) / 2)):
	if string[2 * i] == '1':
		num_of_1 += 1
		x = 1
	elif string[2 * i] == '2':
		num_of_2 += 1
		x = 1
	elif string[2 * i] == '3':
		num_of_3 += 1
		x = 1
new_string = num_of_1 * '1+' + num_of_2 * '2+' + num_of_3 * '3+'
print(new_string[:-1])


s = input()
one = []
one = s.split('+')
one.sort()
weird = '+'.join(one)
print(weird)


a = input()
b = []
for i in range(len(a)):
	if a[i] == '2' or a[i] == '1' or a[i] == '3':
		b.append(a[i])
b.sort()
st = '+'.join(map(str, b))
print(st)


s = input()
string = '+'.join(sorted([i for i in s if i.isdigit()], key=lambda x: int(x)))
print(string)


str1 = str(input())
num1 = []
num2 = []
for i in range(len(str1)):
	if i % 2 == 0:
		num1.append(int(str1[i]))
	else:
		continue
num1.sort()
for i in range(len(num1)):
	if i != len(num1) - 1:
		num2.append(str(num1[i]) + '+')
	else:
		num2.append(str(num1[i]))

def list1(list):
	result = ''
	for element in list:
		result += str(element)
	return result
print(list1(num2))


q = input()
c1 = 0
c2 = 0
c3 = 0
for i in range(0, len(q), 2):
	if q[i] == '1':
		c1 += 1
	elif q[i] == '2':
		c2 += 1
	else:
		c3 += 1
ss = '1+' * c1 + '2+' * c2 + '3+' * c3
print(ss[:-1])


def main():
	line = input()
	nums = line.split('+')
	nums = sorted(nums)
	print('+'.join(nums))
main()


k = 0
b = []
n = input()
for i in n:
	if i.isdigit():
		b.append(i)
		k = k + 1
b.sort()
for i in range(0, k - 1):
	print(b[i] + '+', end='')
print(b[k - 1])


s = input()
a = []
for i in s:
	if i == '1' or i == '2' or i == '3':
		a.append(int(i))
a.sort()
for i in range(len(a) - 1):
	print(a[i], end='+')
print(a[len(a) - 1])


Sum = input()
n = {'1': 0, '2': 0, '3': 0}
for c in Sum:
	if c is not '+':
		n[c] += 1
ordSum = ''
i = 1
for c in Sum:
	if c is not '+':
		while n[str(i)] == 0:
			i += 1
		ordSum += str(i)
		n[str(i)] -= 1
	else:
		ordSum += '+'
print(ordSum)


ss = sorted(input().split('+'))
print('+'.join(ss))


s = input()
t = s.replace('+', '')
u = sorted(t)
u = ['+'.join(u)]
print(u[0])


def sortNums(nums):
	return sorted(nums)
listOfInputs = input().split('+')
nums = sortNums(listOfInputs)
index = 0
for n in nums:
	if index == len(nums) - 1:
		print(n)
		continue
	print(n, end='+')
	index += 1


n = input()
m = n.split('+')
s = sorted(m)
print('+'.join(map(str, s)))


s = input()
s = s.split('+')
s.sort()
t = ''
for i in s:
	t = t + str(i)
	t = t + '+'
print(t[:len(t) - 1])


s = input()
digits = []
for i in s:
	if i.isdigit():
		digits.append(i)
digits = sorted(digits)
j = 1
if len(digits) > 1:
	while digits[-2] != '+':
		digits.insert(j, '+')
		j += 2
digits = ''.join(digits)
print(digits)


n = input()
b = list()
c = list()
d = list()
r = str()
for i in range(0, len(n)):
	if i % 2 == 0:
		a = int(n[i])
		b.append(a)
b.sort()
for i in range(0, len(b)):
	c.append(b[i])
	c.append('+')
l = len(c) - 1
for i in range(0, l):
	d.append(c[i])
result = ''
for element in d:
	result += str(element)
print(result)


n = list(map(int, input().split('+')))
n.sort()
print(n[0], end='')
for char in n[1:]:
	print('+', end='')
	print(char, end='')


num = input()
num = list(num)
length = len(num)
li = []
string = ''
for i in range(0, length, 2):
	li.append(num[i])
li.sort()
for k in range(0, length, 2):
	a = int(k / 2)
	num[k] = li[a]
for j in range(length):
	string = string + num[j]
print(string)


a = [int(i) for i in input().split('+')]
a = sorted(a)
s = ''
for i in range(len(a)):
	s += str(a[i]) + '+'
print(s[:len(s) - 1])


new = ''
x = input()
y = x.split('+')
y.sort()
for x in y:
	new = new + x + '+'
print(new[0:-1])


s = input()
if '+' in s:
	l = list(s.split('+'))
	l.sort()
	n = len(l)
	s = '+'.join(l[:n])
print(s)


nums = input().split('+')
nums = sorted([int(i) for i in nums])
print(''.join([str(i) + '+' for i in nums])[:-1])


sin = input().split('+')
sout = []
sout += sin.count('1') * '1' + sin.count('2') * '2' + sin.count('3') * '3'
print('+'.join(sout))


import os
import sys
from io import BytesIO, IOBase
import math
import itertools
import cmath
import time
import collections
start_time = time.time()

def solve():
	a = list(map(int, sys.stdin.readline().rstrip('\r\n').split('+')))
	a.sort()
	b = [str(x) for x in a]
	c = '+'.join(b)
	ps(c)

def main():
	global tt
	if not ONLINE_JUDGE:
		sys.stdin = open('input.txt', 'r')
		sys.stdout = open('output.txt', 'w')
	t = 1
	for tt in range(1, t + 1):
		solve()
	if not ONLINE_JUDGE:
		print('Time Elapsed :', time.time() - start_time, 'seconds')
		sys.stdout.close()
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
mod = 10 ** 9 + 7
pi = 3.141592653589793

def inn():
	return int(sys.stdin.readline())

def ins():
	return sys.stdin.readline()

def inmn():
	return map(int, sys.stdin.readline().split())

def ina():
	return list(map(int, sys.stdin.readline().split()))

def ps(ans):
	return sys.stdout.write(str(ans) + '\n')

def pa(ans):
	return sys.stdout.write(' '.join(map(str, ans)) + '\n')

def counter(a):
	q = [0] * max(a)
	for i in range(len(a)):
		q[a[i] - 1] = q[a[i] - 1] + 1
	return q

def counter_elements(a):
	q = dict()
	for i in range(len(a)):
		if a[i] not in q:
			q[a[i]] = 0
		q[a[i]] = q[a[i]] + 1
	return q

def string_counter(a):
	q = [0] * 26
	for i in range(len(a)):
		q[ord(a[i]) - 97] = q[ord(a[i]) - 97] + 1
	return q

def factorial(n, m=1000000007):
	q = 1
	for i in range(n):
		q = q * (i + 1) % m
	return q

def factors(n):
	q = []
	for i in range(1, int(n ** 0.5) + 1):
		if n % i == 0:
			q.append(i)
			q.append(n // i)
	return list(sorted(list(set(q))))

def prime_factors(n):
	q = []
	while n % 2 == 0:
		q.append(2)
		n = n // 2
	for i in range(3, int(n ** 0.5) + 1, 2):
		while n % i == 0:
			q.append(i)
			n = n // i
	if n > 2:
		q.append(n)
	return list(sorted(q))

def transpose(a):
	(n, m) = (len(a), len(a[0]))
	b = [[0] * n for i in range(m)]
	for i in range(m):
		for j in range(n):
			b[i][j] = a[j][i]
	return b

def is_power_two(x):
	return x and (not x & x - 1)

def ceil(a, b):
	return -(-a // b)

def seive(n):
	a = [1]
	prime = [True for i in range(n + 1)]
	p = 2
	while p * p <= n:
		if prime[p] == True:
			for i in range(p ** 2, n + 1, p):
				prime[i] = False
		p = p + 1
	for p in range(2, n + 1):
		if prime[p]:
			a.append(p)
	return a
ONLINE_JUDGE = __debug__
if ONLINE_JUDGE:
	(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
main()


mys = input()
arr = []
for i in mys:
	if i == '1' or i == '2' or i == '3':
		arr.append(int(i))
arr.sort()
myans = ''
mystr = ''
if len(arr) > 1:
	for i in arr:
		myans += str(i) + '+'
	myan = ''
	myan = myans[0:len(myans) - 1]
	print(myan)
else:
	mystr += str(arr[0])
	print(mystr)


import sys
s = input()
s = s.split('+')
arr = []
for i in s:
	arr.append(int(i))
arr.sort()
for i in range(len(arr)):
	sys.stdout.write(str(arr[i]))
	if len(arr) - i > 1:
		sys.stdout.write('+')
print()


l_input = [int(i) for i in input().split('+')]
l_input.sort()
print('+'.join(map(str, l_input)))


import itertools
s = input()
a = []
b = []
c = []
d = []
for i in s:
	if i == '1':
		a.append(i)
	if i == '2':
		b.append(i)
	if i == '3':
		c.append(i)
for f in itertools.chain(a, b, c):
	d.append(f)
	d.append('+')
print(''.join(d[:-1]))


a = input()
b = sorted(a.replace('+', ''))
c = ''
for i in b[0:-1]:
	c = c + str(i) + '+'
print(c + str(b[-1]))


sum = input()
sumlt = list(str(sum).split('+'))
sortedsumlt = sorted(sumlt)
print('+'.join(sortedsumlt))


inp = input()
nums = []
for num in inp.split('+'):
	nums.append(int(num))
nums.sort()
solution = ''
for i in nums:
	solution = str(i) if solution == '' else solution + '+' + str(i)
print(solution)


x = str(input())
x = list(x)
y = len(x)
i = 0
t = 0
n = 0
while n < y // 2:
	while i < y - 2:
		if int(x[i]) > int(x[i + 2]):
			t = x[i]
			x[i] = x[i + 2]
			x[i + 2] = t
		i += 2
	n += 1
	i = 0
i = 0
stri = ''
while i < len(x):
	stri = stri + x[i]
	i += 1
print(stri)


g = input()
a = [x for x in g if x.isdigit()]
answer = '+'.join(sorted(a))
print(answer)


a = input()

def Convert(string):
	li = list(string.split('+'))
	return li
c = Convert(a)
b = sorted(c)

def convert(s):
	str1 = '+'
	return str1.join(b)
print(convert(b))


a = input()
b = list(a.replace('+', ''))
c = list(map(int, b))
c.sort()
d = map(str, c)
e = ' '.join(d)
print(e.replace(' ', '+'))


x = input()
l = []
x = x.split('+')
x = sorted(x)
z = '+'.join(x)
print(z)


s = input()
s1 = s.split('+')
s1.sort()
s2 = '+'.join(s1)
print(s2)


s = input()
a = []
while len(s) > 100:
	s = input()
for i in range(0, len(s), 2):
	a.append(int(s[i]))
for x in range(len(a)):
	for y in range(len(a)):
		if y == len(a) - 1:
			break
		if a[y] > a[y + 1]:
			c = a[y]
			a[y] = a[y + 1]
			a[y + 1] = c
print(*a[:], sep='+')


n = input('')
a = n.count('1')
b = n.count('2')
c = n.count('3')
if a > 0 and b > 0 and (c > 0):
	print('1+' * a + '2+' * b + '3+' * (c - 1) + '3')
elif a > 0 and b > 0 and (c == 0):
	print('1+' * a + '2+' * (b - 1) + '2')
elif a > 0 and c > 0 and (b == 0):
	print('1+' * a + '3+' * (c - 1) + '3')
elif b > 0 and c > 0 and (a == 0):
	print('2+' * b + '3+' * (c - 1) + '3')
else:
	print(n)


xs = [x for x in input().split('+')]
xs.sort()
print(xs[0], end='')
for i in range(len(xs) - 1):
	print('+' + xs[i + 1], end='')


a = sorted([int(x) for x in input().split('+')])
a = [str(x) for x in a]
print('+'.join(a))


s = input()
z1 = s.count('1')
z2 = s.count('2')
z3 = s.count('3')
x = ''
for i in range(z1):
	x += '1+'
for i in range(z2):
	x += '2+'
for i in range(z3):
	x += '3+'
print(x[:x.rfind('+')])


inputs = input().split('+')
inputs.sort()
output = ''
for i in range(len(inputs)):
	if i == len(inputs) - 1:
		output += str(inputs[i])
	else:
		output = output + str(inputs[i]) + '+'
print(output)


s = input().split('+')
s.sort()
new_s = ''
for i in range(len(s)):
	if i == 0:
		new_s = s[i]
	else:
		new_s = new_s + '+' + s[i]
print(new_s)


s = input()
(n1, n2, n3) = (s.count('1'), s.count('2'), s.count('3'))
print(str('1+' * n1 + '2+' * n2 + '3+' * n3)[:-1])


numbers = input().split('+')
scores = [0, 0, 0]

def numb(x, score):
	if not x:
		return score
	if x[0] == '1':
		score[0] += 1
	elif x[0] == '2':
		score[1] += 1
	else:
		score[2] += 1
	return numb(x[1:], score)
final_count = numb(numbers, scores)
arranged = []
for i in range(1, 4):
	arranged += str(i) * final_count[i - 1]
print('+'.join(arranged))


string = input()
lst = []
for i in string:
	if i.isdigit():
		lst.append(int(i))
lst.sort()
res = ''
for i in lst:
	res += '+' + str(i)
print(res[1:])


words = input()
base = []
for word in words:
	if word.isdigit():
		base.append(int(word))
base.sort()
print('+'.join(list(map(str, base))))


(a, b, c, z) = (0, 0, 0, '')
o = input()
for i in o:
	if i == '1':
		a = a + 1
	elif i == '2':
		b = b + 1
	elif i == '3':
		c = c + 1
x = 0
while x < a:
	x = x + 1
	z = z + '1+'
x = 0
while x < b:
	x = x + 1
	z = z + '2+'
x = 0
while x < c:
	x = x + 1
	z = z + '3+'
print(z[0:-1])


ordered = '+'.join(sorted(list(input().split('+'))))
print(ordered)


t = [i for i in input().strip().split('+')]
t.sort()
print('+'.join(t))


s = input()
elems = s.split('+')
elems.sort()
print('+'.join(elems))


import sys
expr = input().split('+')
expr.sort()
print(expr[0], sep='', end='')
for num in expr[1:]:
	print('+', num, sep='', end='')


s = input()
s_d = list(map(int, s.split('+')))
s_d.sort()
ss = ''
for x in s_d:
	ss = ss + str(x) + '+'
print(ss[:-1])


s = input()
l = []
for i in range(0, len(s)):
	if s[i] != '+':
		l.append(s[i])
l.sort()
x = ''
for i in range(0, len(l) - 1):
	x += l[i] + '+'
x += l[len(l) - 1]
print(x)


m = input()
n = ''
for i in range(0, len(m), 2):
	n = n + m[i]
t = sorted(n)
print('+'.join(t))


n = sorted(list(map(int, input().split('+'))))
st = ''
for i in n:
	st += str(i) + '+'
if st[-1] == '+':
	print(st[:-1])
else:
	print(st)


string = input()
list_string = string.split('+')
new_list = sorted(list_string)
print('+'.join(new_list))


s = input().replace('+', '')
a = [n for n in s]
a.sort()
s = ''
for i in range(len(a)):
	s = s + a[i] + '+'
a = ''
for i in range(len(s) - 1):
	a = a + s[i]
print(a)


s = input()
a = list(s)
for i in range(int((len(a) - 1) / 2)):
	a.remove('+')
a.sort()
b = ''
for i in range(len(a)):
	if i != len(a) - 1:
		b = b + a[i] + '+'
	elif i == len(a) - 1:
		b = b + a[i]
print(b)


s = input()
a = []
n = int(len(s))
i = int(0)
while i < n:
	a.append(int(s[i]))
	i = i + 2
a.sort()
s = ''
i = 0
n = len(a)
while i + 1 < n:
	s = s + str(a[i]) + '+'
	i = i + 1
s = s + str(a[len(a) - 1])
print(s)


st = [i for i in input().split('+')]
st.sort()
j = 0
for i in st:
	if j != len(st) - 1:
		print(i, '+', sep='', end='')
		j += 1
	else:
		print(i)


inp = input().split('+')
inp.sort()
print(*inp, sep='+')


lista = input()
lista2 = lista.split('+')
lista3 = []
for k in range(len(lista2)):
	if lista2[k] == '1':
		lista3.append(lista2[k])
for k in range(len(lista2)):
	if lista2[k] == '2':
		lista3.append(lista2[k])
for k in range(len(lista2)):
	if lista2[k] == '3':
		lista3.append(lista2[k])
w = '+'.join(lista3)
print(w)


def newFunction():
	new_String = input()
	a = new_String.count('1')
	b = new_String.count('2')
	c = new_String.count('3')
	new_list = []
	for i in range(a):
		new_list.append('1')
	for i in range(b):
		new_list.append('2')
	for i in range(c):
		new_list.append('3')
	print('+'.join(new_list))
newFunction()


s = input()
d = list(s.replace('+', ''))
d.sort()
st = ''
for i in range(len(d)):
	if i + 1 == len(d):
		st = st + d[i]
	else:
		st = st + d[i] + '+'
print(st)


list1 = [i for i in input()]
list1.sort()
i = 0
length = len(list1)
while i < length:
	if list1[i] == '+':
		list1.remove(list1[i])
		length = length - 1
		continue
	i += 1
u = '+'
print(u.join(list1))


inpList = input()
inp = inpList.split('+')
inp.sort()
print('+'.join(inp))


s = str(input())
list1 = []
if len(s) == 1:
	print(s)
else:
	for i in range(0, len(s)):
		if i % 2 == 0:
			list1.append(s[i])
list1.sort()
print(*list1, sep='+')


myinputa = input().split('+')
print('+'.join(sorted(myinputa)))


var = [int(x) for x in input().split('+')]
var = sorted(var)
for index in range(0, len(var)):
	if index + 1 != len(var):
		print(var[index], end='+')
	else:
		print(var[index])


string = input()
string_list = string.split('+')
string_list.sort()
string = '+'.join(string_list)
print(string)


s = input()
temp = [s[i] for i in range(len(s)) if i % 2 == 0]
temp.sort()
result = ''
for i in range(len(temp) - 1):
	result = result + temp[i] + '+'
result = result + temp[len(temp) - 1]
print(result)


digits = []
list(map(digits.append, input().split('+')))
digits.sort()
print('+'.join(digits))


n = input().split('+')
n = [int(i) for i in n]
n.sort()
n = [str(i) for i in n]
print('+'.join(n))


char = str(input(''))
seta = []
for i in range(0, len(char), 2):
	seta.append(char[i])
setb = sorted(seta)
new_char = ''
for elem in setb:
	new_char = new_char + '+' + elem
print(new_char[1:])


mynum = list(input())
number = []
for num in mynum:
	n = num
	if num == '+':
		continue
	else:
		number.append(n)
number.sort()
for n in range(len(number) - 1):
	number[n] = f'{number[n]}+'
for nn in number:
	print(nn, end='')


import sys
import collections
import math
import functools
import itertools
import bisect
import operator
import heapq
import random
true = True
false = False
null = None
tcid = 0

def ceil(a, b):
	ans = a // b
	if a % b != 0:
		ans += 1
	return ans

def perr(*args, **kwargs):
	print(*args, file=sys.stderr, **kwargs)

def line():
	ln = sys.stdin.readline().strip()
	if ln == '':
		sys.exit()
	return ln

def lines(n):
	return [line() for i in range(n)]

def split(ln=None):
	return (ln or line()).split()

def parse(*parsers):
	return list(map(lambda p, w: p(w), parsers, split()))

def nums(o=None):
	if o is not None:
		if isinstance(o, int):
			o = lines(o)
		elif isinstance(o, str):
			o = split(o)
	return list(map(int, o or split()))

def num():
	return int(line())

def solve(tcid=1):
	s = line()
	s = s[::2]
	s = list(s)
	s.sort()
	print(*s, sep='+')
while true:
	tcid += 1
	solve(tcid)


def seperateints(x):
	k = ''
	l = []
	for i in x:
		if i == '+':
			l.append(int(k))
			k = ''
			continue
		k = k + i
	l.append(int(k))
	return l
x = seperateints(input())
y = sorted(x)
kk = ''
for i in range(len(y)):
	if i == len(y) - 1:
		kk = kk + str(y[i])
		break
	kk = kk + str(y[i]) + '+'
print(kk)


s = input().replace('+', ' ').split()
a = ''
s.sort()
if len(s) == 1:
	a += str(s[0])
else:
	for i in range(0, len(s)):
		if i < len(s) - 1:
			a += str(s[i]) + '+'
		else:
			a += str(s[i])
print(a)


string = input().split('+')
string.sort()
fin = ''
for i in range(len(string)):
	fin += string[i]
	if i + 1 != len(string):
		fin += '+'
print(fin)


s = input()
l = s.split('+')
n = len(l)
l.sort()
print(l[0], end='')
for x in range(1, n):
	print('+', end='')
	print(l[x], end='')
print()


def sortwa(lis):
	for i in range(len(lis) - 1):
		for j in range(0, len(lis) - 1):
			if a[j] > a[j + 1]:
				(a[j], a[j + 1]) = (a[j + 1], a[j])
	return lis
a = list(map(int, input().split('+')))
print('+'.join(map(str, sortwa(a))))


s = list(input())
nums_here = []
for i in range(len(s)):
	if s[i] == '1':
		nums_here.append('1')
	elif s[i] == '2':
		nums_here.append('2')
	elif s[i] == '3':
		nums_here.append('3')
	nums_here.sort()
	f = len(nums_here) - 1
for c in range(len(nums_here) - 1):
	print(nums_here[c], end='')
	if c == nums_here[f]:
		break
	else:
		print('+', end='')
print(nums_here[f])


def main():
	string = input()
	list = []
	for char in string:
		try:
			list.append(int(char))
		except:
			continue
	result = ''
	list.sort()
	for number in list:
		result += str(number) + '+'
	result = result[:-1]
	print(result)
main()


s = input()
n = [0] * 1000
for i in range(len(s)):
	if s[i] != '+':
		n[int(s[i])] += 1
m = 1
for i in range(len(n)):
	if n[i] != 0:
		for j in range(n[i]):
			if m == 1:
				print(i, end='', sep='')
				m = 0
			else:
				print('+', i, end='', sep='')


s = input()
l = s.split('+')
z = sorted(l)
ss = ''
for i in range(len(z)):
	if len(z) == 1:
		ss = ss + z[i]
	elif i == len(z) - 1:
		ss = ss + z[i]
	else:
		ss = ss + z[i] + '+'
print(ss)


i = input()
l = []
for k in range(0, round(len(i) / 2 + 0.25)):
	l.append(int(i[2 * k]))
for i in range(0, len(l)):
	for j in range(0, len(l) - 1):
		if l[j] > l[j + 1]:
			(l[j], l[j + 1]) = (l[j + 1], l[j])
p = str(l[0])
for k in range(1, len(l)):
	p = p + '+' + str(l[k])
print(p)


n = input()
n = list(n)
a = ['+']
x = []
for i in n:
	if i not in a:
		x.append(i)
x.sort()
for i in range(1, len(x) * 2 - 1, 2):
	x.insert(i, '+')
summ = ''.join(x)
print(summ)


w = input()
s = ''
count1 = 0
count2 = 0
count3 = 0
for i in range(len(w)):
	if w[i] == '1':
		count1 += 1
	elif w[i] == '2':
		count2 += 1
	elif w[i] == '3':
		count3 += 1
for i in range(count1):
	s += '1+'
for i in range(count2):
	s += '2+'
for i in range(count3):
	s += '3+'
print(s[:-1])


s = input()
s1 = s.count('1')
s2 = s.count('2')
s3 = s.count('3')
s = '1' * s1 + '2' * s2 + '3' * s3
print('+'.join(s))


entry1 = list(map(int, input().split('+')))
entry1.sort()
length = len(entry1)
j = 0
for i in entry1:
	if j != length - 1:
		print(i, end='+')
	elif j == length - 1:
		print(i)
	j += 1


mass = input().split('+')
mass.sort()
string = mass[0]
for i in mass[1:]:
	string += '+' + i
print(string)


s = input().split('+')
a = ''
b = ''
for i in range(len(s)):
	s[i] = int(s[i])
s.sort()
for i in range(len(s)):
	s[i] = str(s[i])
	a = a + s[i] + '+'
for i in range(len(a) - 1):
	b = b + a[i]
print(b)


s = input()
l = []
for x in s:
	if x != '+':
		l.append(x)
l.sort()
for x in range(1, 2 * (len(l) - 1)):
	if x % 2 == 1:
		l.insert(x, '+')
print(''.join(l))


a = input().split('+')
c = []
f = None
for i in a:
	d = int(i)
	c.append(d)
c.sort()
for j in c:
	e = str(j)
	if f == None:
		f = e
	else:
		f = f + '+' + e
print(f)


s = input()
m = s.split('+')
n = list(map(int, m))
for i in range(0, len(n)):
	for j in range(i + 1, len(n)):
		if n[i] > n[j]:
			tmp = n[i]
			n[i] = n[j]
			n[j] = tmp
v = list(map(str, n))
print('+'.join(v))


k = input()
a = k.replace('+', ' ')
b = a.split()
b.sort()
c = '+'.join(b)
print(c)


s1 = input()
lista = s1.split('+')
lista.sort()
cadena = lista[0]
for i in range(1, len(lista)):
	cadena = cadena + '+' + lista[i]
print(cadena)


a = input()
a = a.split('+')
a = sorted(a)
ans = ''
for i in a:
	ans += i
	ans += '+'
l = len(ans)
print(ans[:l - 1])


s = input('')
s = list(s)
k = s[0:len(s):2]
k.sort()
print(*k, sep='+')


s = list(map(int, input().split('+')))
count = [0, 0, 0]
for i in range(0, len(s)):
	count[s[i] - 1] += 1
ans = '+1' * count[0] + '+2' * count[1] + '+3' * count[2]
print(ans[1:])


inp = list(input())
newlist = []
for x in range(0, len(inp), 2):
	newlist.append(inp[x])
newlist.sort()
print(*newlist, sep='+')


nums = [i for i in input().split('+')]
nums.sort()
print('+'.join(nums))


ss = input()
b = []
for i in ss:
	if i is not '+':
		b.append(int(i))
b = sorted(b)
sn = ''
for j in b:
	sn = sn + '+' + str(j)
print(sn[1:])


s = input()
length = int((len(s) + 1) / 2)
store = [0 for i in range(0, length)]
m = s.split('+')
a = 0
flag = 1
o = ''
for i in range(0, length):
	store[i] = int(m[i])
while flag != 0:
	flag = 0
	for i in range(0, length - 1):
		if store[i] > store[i + 1]:
			a = store[i]
			store[i] = store[i + 1]
			store[i + 1] = a
			a = 1
		else:
			a = 0
		flag += a
for i in range(0, length - 1):
	o = o + str(store[i]) + '+'
o = o + str(store[length - 1])
print(o)


def main():
	string = input().split('+')
	string = sorted(string)
	string = '+'.join(string)
	print(string)
main()


import sys
line_list = sys.stdin.readline().rstrip().split('+')
line_list = [int(x) for x in line_list]
line_list.sort()
out = ''
for item in range(len(line_list)):
	if item != len(line_list) - 1:
		out += str(line_list[item]) + '+'
	else:
		out += str(line_list[item])
sys.stdout.write(out)


s = input()
s = s.split('+')
s.sort()
x = ''
for i in s:
	x += i
	x += '+'
print(x[:-1])


a = input().split('+')
o = a.count('1')
d = a.count('2')
t = a.count('3')
if t > 0:
	for i in range(o):
		print('1+', end='')
	for j in range(d):
		print('2+', end='')
	for u in range(t - 1):
		print('3+', end='')
	print('3')
elif d > 0:
	for i in range(o):
		print('1+', end='')
	for j in range(d - 1):
		print('2+', end='')
	print('2')
else:
	for i in range(o - 1):
		print('1+', end='')
	print('1')


a = input()
a = [int(x) for x in a.split('+')]
a.sort()
print('+'.join([str(x) for x in a]))


s = input()
b = []
for i in range(len(s)):
	if s[i] != '+':
		b.append(s[i])
b.sort()
n = len(b)
for i in range(n):
	print(b[i], end='')
	if i < n - 1:
		print('+', end='')


s = input()
a = ''
for i in s:
	if i != '+':
		a = a + i
		b = sorted(a)
print('+'.join(b))


inp = input('')
inp = inp.split('+')
inp.sort()
plus = '+'
out = plus.join(inp)
print(out)


str = input()
lst = str.split('+')
lst.sort()
i = 0
for num in lst:
	print(num, end='')
	i = i + 1
	if i != len(lst):
		print('+', end='')


def main():
	temp_list = input().split('+')
	main_list = []
	for i in range(len(temp_list)):
		main_list.append(int(temp_list[i]))
	main_list.sort()
	final_list = []
	for i in range(len(main_list)):
		final_list.append(str(main_list[i]))
	print('+'.join(final_list))
main()


def main():
	numbers = input().split('+')
	return '+'.join(sorted(numbers))

def ints_from_input():
	return (int(i) for i in input().split())
print(main())


s = input('')
lst = s.split('+')
lst.sort()

def f(org_list, s=' '):
	return s.join(org_list)
lst = f(lst, '+')
print(lst)


import sys
n = sys.stdin.readline().strip().split('+')
list(map(int, n))
n.sort()
o = ''
o = o.join(n)
for i in range(1, len(o) * 2 - 1, 2):
	o = o[:i] + '+' + o[i:]
print(o)


x = list(input('').split('+'))
x.sort()
a = str(0)
for i in range(len(x)):
	a += '+' + x[i]
b = a[2:]
print(b)


a = input()
p = []
for i in a:
	if i == '+':
		continue
	else:
		x = int(i)
		p.append(i)
p.sort()
j = 0
while j < len(p):
	print(p[j], end='')
	if j != len(p) - 1:
		print('+', end='')
	j += 1


ch = input()
ch1 = ''
l = ch.split('+')
l.sort()
ch1 = '+'.join(l)
print(ch1)


s = input()
k = sorted(s)
print('+'.join(k[len(s) // 2:]))


s = input().strip().split('+')
s = [int(c) for c in s]
s = sorted(s)
for i in range(len(s) - 1):
	print(s[i], end='+')
print(s[len(s) - 1])


s = input()
li = []
for i in range(0, len(s)):
	if i % 2 == 0:
		li.append(s[i])
	else:
		i += 1
li.sort()
for i in range(0, len(li)):
	if i == len(li) - 1:
		print(li[i])
	else:
		print(li[i], end='+')


s = input()
x1 = ''
for i in s:
	if i == '+':
		pass
	else:
		x1 += i
print('+'.join(sorted(x1)))


import math
line = input()
pieces = list(line)
n = math.ceil(len(pieces) / 2)
numbers = []
for i in range(n):
	numbers.append(pieces[2 * i])
numbers.sort()
strings = '+'.join(numbers)
print(strings)


def smartBubbleSort(alist):
	n = len(txt)
	exchanges = True
	for passnum in range(n - 1, 0, -1):
		if exchanges == False:
			break
		exchanges = False
		for i in range(passnum):
			if txt[i] > txt[i + 1]:
				(txt[i], txt[i + 1]) = (txt[i + 1], txt[i])
				exchanges = True
txt = input().split('+')
for i in range(0, len(txt)):
	txt[i] = int(txt[i])
smartBubbleSort(txt)
print(*txt, sep='+')


c = ''.join(input().split('+'))
s = c.count('1') * '1+' + c.count('2') * '2+' + c.count('3') * '3+'
print(s[0:-1])


n = input()
x = len(n)
counto = 0
countt = 0
count = 0
if len(n) <= 100:
	for i in range(0, x):
		if n[i] == '1':
			counto = counto + 1
		elif n[i] == '2':
			countt = countt + 1
		elif n[i] == '3':
			count = count + 1
	x = '1' * counto + '2' * countt + '3' * count
	n = len(x)
	parts = [x[i:i + 1] for i in range(0, n, 1)]
	print('+'.join(parts))


nums = [x for x in input().split('+')]
a = nums.count('1')
b = nums.count('2')
c = nums.count('3')
print('+'.join(['1'] * a + ['2'] * b + ['3'] * c))


s = input()
one = ''
two = ''
three = ''
final = ''
for i in s:
	if i == '1':
		one = one + i
	elif i == '2':
		two = two + i
	elif i == '3':
		three = three + i
for i in one:
	final = final + i + '+'
for i in two:
	final = final + i + '+'
for i in three:
	final = final + i + '+'
if final[-1] == '+':
	print(final[0:len(final) - 1])


example = '+'.join(list(map(str, sorted(list(map(int, input().split('+')))))))
print(example)


numbers = sorted(input().split('+'))
res = numbers[0] + '+'
for i in range(1, len(numbers) - 1):
	res += numbers[i] + '+'
res += numbers[-1]
print(res) if len(numbers) > 1 else print(numbers[0])


s = input('')
nums = list(map(int, s.split('+')))

def sort(nums):
	if len(nums) in [0, 1]:
		return nums
	a = sort(nums[:len(nums) // 2])
	b = sort(nums[len(nums) // 2:])
	c = []
	while a and b:
		if a[0] < b[0]:
			c.append(a.pop(0))
		else:
			c.append(b.pop(0))
	c += a + b
	return c
s = '+'.join(list(map(str, sort(nums))))
print(s)


n = input()
n = n.split('+')
n.sort()
b = ''
for i in n:
	b += i + '+'
b = b.strip('+')
print(b)


s = str(input())
l = list(s)
ls = []
for i in range(0, len(l)):
	if l[i] == '+':
		continue
	else:
		ls.append(l[i])
ls.sort()
a = '+'.join(ls)
print(a)


import sys
line = [x for x in input() if x != '+']
line.sort()
for (i, x) in enumerate(line):
	if i != len(line) - 1:
		sys.stdout.write(x + '+')
	else:
		print(x)


a = [0, 0, 0]
n = input().split('+')
for i in range(len(n)):
	a[int(n[i]) % 3] += 1
st = '1+' * a[1] + '2+' * a[2] + '3+' * a[0]
print(st[:-1])


s = input()
l = s.split('+')
l.sort()
li = '+'.join(l)
print(li)


def bubbleSort(a, n):
	for _ in range(n - 1):
		for j in range(n - 1):
			if a[j] > a[j + 1]:
				(a[j], a[j + 1]) = (a[j + 1], a[j])
l = input().split('+')
n = len(l)
bubbleSort(l, n)
for i in range(n):
	if i != n - 1:
		print(l[i], end='+')
	else:
		print(l[i], end='')


INPUT = input().split('+')
SORTED = iter(sorted(INPUT))
OUTPUT = ''
OUTPUT += next(SORTED)
for x in range(len(INPUT) - 1):
	OUTPUT += '+{}'.format(next(SORTED))
print(OUTPUT)


line = input()
counts = {'1': 0, '2': 0, '3': 0}
for i in range(0, len(line)):
	if line[i] == '+':
		continue
	else:
		counts[line[i]] = counts[line[i]] + 1
output = ''
for i in range(0, 3):
	for j in range(0, counts[str(i + 1)]):
		if output != '':
			output = output + '+'
		output = output + str(i + 1)
print(output)


lst = list(map(int, input().split('+')))
lst.sort()
print(*lst, sep='+')


x = list(input())
i = 0
while i != len(x):
	if x[i] == '+':
		x.pop(i)
	else:
		i += 1
x.sort()
i = 1
while i != len(x):
	x.insert(i, '+')
	i += 2
y = ''.join(x)
print(y)


example = input().split('+')
example.sort()
print('+'.join(example))


import string
s = str(input())
k = ''
v = 0
w = 0
e = 0
for i in range(len(s)):
	if s[i] == '1':
		v += 1
	elif s[i] == '2':
		w += 1
	elif s[i] == '3':
		e += 1
for i in range(v):
	k += '1+'
for i in range(w):
	k += '2+'
for i in range(e):
	k += '3+'
k = k.rstrip('+')
print(k)


a = input()
l = []
for i in a:
	if i.isdigit():
		l.append(int(i))
l = sorted(l)
r = ''
for i in l:
	r = r + str(i) + '+'
p = len(r)
r = r[:p - 1]
print(r)


array = [0] * 10
string = input()
for i in range(0, len(string)):
	if string[i] == '1':
		array[0] += 1
	if string[i] == '2':
		array[1] += 1
	if string[i] == '3':
		array[2] += 1
string = ''
for i in range(0, 3):
	if array[i] != 0:
		for j in range(0, array[i]):
			string = string + str(i + 1) + '+'
for i in range(0, len(string) - 1):
	print(string[i], end='')


text = input()
texto = ''
for x in sorted(text.split('+')):
	texto += x + '+'
print(texto[0:len(texto) - 1])


s = input()
data = []
for i in s:
	if i.isdigit():
		data.append(i)
print(*sorted(data), sep='+')


s = input()
l = s.split('+')
l.sort()
s1 = '+'.join(l)
print(s1)


inp = input()
count1 = count2 = count3 = 0
for i in range(0, len(inp), 2):
	if inp[i] == '1':
		count1 += 1
	elif inp[i] == '2':
		count2 += 1
	elif inp[i] == '3':
		count3 += 1
out = '1+' * count1 + '2+' * count2 + '3+' * count3
print(out[:-1])


raw = input().split('+')
new = sorted(raw)
sum = '+'.join(new)
print(sum)


import sys
inp = input().split('+')
output = ''
count = []
for x in range(1, 4):
	count_x = inp.count(str(x))
	count.append(count_x)
sentence = ''
n = 0
for x in count:
	n += x
for x in range(0, n):
	if count[0] > 0:
		sentence += '1'
		count[0] -= 1
	elif count[1] > 0:
		sentence += '2'
		count[1] -= 1
	elif count[2] > 0:
		sentence += '3'
		count[2] -= 1
	if x == n - 1:
		pass
	else:
		sentence += '+'
print(sentence)


inp = input().strip()
ls = list((x for x in inp.split('+')))
cnt = [0, 0, 0]
for i in ls:
	if i == '1':
		cnt[0] += 1
	elif i == '2':
		cnt[1] += 1
	else:
		cnt[2] += 1
res = '1' * cnt[0] + '2' * cnt[1] + '3' * cnt[2]
l = len(ls) - 1
if l > 0:
	print(res[0] + '+', end='')
	for i in res[1:l]:
		print(i + '+', end='')
	if l > 0:
		print(res[l])
else:
	print(res[0])


i = input()
a = i.replace('+', '')
b = ''.join(sorted(a))
res = ''
for _ in b:
	if i.isdigit():
		print(i)
		break
	res += _ + '+'
print(res[:-1])


a = input().split('+')
c = len(a)
m1 = 0
m4 = 0
for i in range(len(a) - 1):
	m1 = a[0]
	m4 = 0
	for i in range(c):
		if a[i] > m1:
			m1 = a[i]
			m4 = i
	(a[c - 1], a[m4]) = (a[m4], a[c - 1])
	c = c - 1
for i in range(len(a) - 1):
	print(a[i], end='+')
print(a[-1])


n = list(input())
arr = []
for i in n:
	if i != '+':
		arr.append(i)
arr.sort()
for i in range(len(arr)):
	if i == len(arr) - 1:
		print(arr[i], sep='', end='')
	else:
		print(arr[i], '+', sep='', end='')


lst = list(input())
l1 = []
for i in lst:
	if i.isnumeric():
		l1.append(i)
l1.sort()
l1 = [str(i) for i in l1]
print('+'.join(l1))


x = input().split('+')
x = sorted(x)
ans = x[0]
for i in range(1, len(x)):
	ans += '+'
	ans += x[i]
print(ans)


string = input()
List = []
string1 = ''
for i in string:
	if i != '+':
		List.append(i)
List = sorted(List)
for i in List:
	if string1 == '':
		string1 = i
	else:
		string1 = string1 + '+' + i
print(string1)


string = str(input())
row_values = string.split('+')
row_values.sort()
final_string = ''
for i in range(0, len(row_values)):
	final_string = final_string + '+' + row_values[i]
print(final_string.lstrip('+'))


def partition(nums, low, high):
	pivot = nums[high]
	i = low - 1
	for j in range(low, high):
		if nums[j] <= pivot:
			i = i + 1
			temp = nums[i]
			nums[i] = nums[j]
			nums[j] = temp
	temp = nums[i + 1]
	nums[i + 1] = nums[high]
	nums[high] = temp
	return i + 1

def quickSort(nums, low, high):
	if low < high:
		pi = partition(nums, low, high)
		quickSort(nums, low, pi - 1)
		quickSort(nums, pi + 1, high)
arrNum = input()
arr = [int(n) for n in arrNum.split('+')]
n = len(arr)
quickSort(arr, 0, n - 1)
s = ''
for i in range(0, n):
	if i != n - 1:
		s = s + str(arr[i]) + '+'
	else:
		s = s + str(arr[i])
print(s)


n = list(map(str, input().split('+')))
n.sort()
s1 = '+'.join(n)
print(s1)


s = input()
if len(s) == 1:
	print(s)
else:
	a = s.count('1')
	b = s.count('2')
	c = s.count('3')
	l = ['1'] * a + ['2'] * b + ['3'] * c
	print('+'.join(l))


lis = list(input())
a = 0
d = len(lis)
for j in range(d // 2):
	c = -2
	b = 0
	for i in lis[:d - 2 * j:2]:
		a = int(i)
		c = c + 2
		if b == 0:
			b = a
		elif b > a:
			lis[c] = str(b)
			lis[c - 2] = str(a)
		else:
			b = a
print(''.join(lis))


s = [int(x) for x in input().split('+')]
s.sort()
print(*s, sep='+')


import sys
string = input()
string = string.split('+')
string = sorted(string)
ans = ''
for x in range(0, len(string) - 1):
	ans += string[x]
	ans += '+'
ans += string[len(string) - 1]
print(ans)


data = [int(x) for x in input().split('+')]
data.sort()
for x in range(len(data) - 1):
	print(data[x], '+', sep='', end='')
print(data[-1])


data = input().split('+')
data.sort()
print(*data, sep='+')


def solve():
	s = input()
	l = []
	for c in s:
		if c.isdigit():
			l.append(int(c))
	l.sort()
	for i in range(len(l)):
		v = l[i]
		print(str(v) + ('' if i + 1 == len(l) else '+'), end='')

def main():
	solve()
main()


import sys
finish = ''
tC = ''
thC = ''
n = 0
ones = 0
twos = 0
thres = 0

def adder(number):
	global ones, twos, thres, tC, thC
	if number == 1:
		ones = ones + 1
	elif number == 2:
		twos = twos + 1
		tC = '+'
	elif number == 3:
		thres = thres + 1
		thC = '+'
for l in sys.stdin:
	for k in l:
		if n == 0:
			adder(int(k))
		elif n % 2 == 0:
			adder(int(k))
		n = n + 1
	break
if ones > 0:
	finish = '1'
	while ones > 1:
		finish = finish + '+'
		finish = finish + '1'
		ones = ones - 1
	if tC:
		finish = finish + '+'
	elif thC:
		finish = finish + '+'
if twos > 0:
	finish = finish + '2'
	while twos > 1:
		finish = finish + '+'
		finish = finish + '2'
		twos = twos - 1
	if thC:
		finish = finish + '+'
if thres > 0:
	finish = finish + '3'
	while thres > 1:
		finish = finish + '+'
		finish = finish + '3'
		thres = thres - 1
print(finish)


line = input()
if len(line) <= 100:
	for char in line:
		if char == '+':
			line = line.replace(char, '')
	print('+'.join(sorted(line)))


a = input()
s = [0, 0, 0]
for i in a:
	if i == '1':
		s[0] += 1
	elif i == '2':
		s[1] += 1
	elif i == '3':
		s[2] += 1
g = '1+' * s[0] + '2+' * s[1] + '3+' * s[2]
print(g[:-1])


a = 0
b = 0
c = 0
i = input()
for r in i.split('+'):
	if r == '1':
		a += 1
	elif r == '2':
		b += 1
	elif r == '3':
		c += 1
out = ''
for r in range(a):
	out += '1+'
for r in range(b):
	out += '2+'
for r in range(c):
	out += '3+'
print(out[:-1])


n = sorted(input().split('+'))
a = []
for i in range(len(n)):
	a.append(n[i])
	a.append('+')
for item in a[:-1]:
	print(item, end='')


m = input()
w = m.split('+')
for i in range(0, len(w)):
	w[i] = int(w[i])
w.sort()
for i in range(1, len(w) * 2 - 1, 2):
	w.insert(i, '+')
for i in range(0, len(w)):
	w[i] = str(w[i])
answer = ''.join(w)
print(answer)


s = input().split('+')
s.sort()
m = '+'.join(s)
print(m)


text = input()
l = list()
for i in range(0, len(text), 2):
	num = int(text[i])
	l.append(num)
l.sort()
lenth = len(l) - 1
for i in range(0, lenth):
	num = str(l[i])
	print(num + '+', end='')
print(l[lenth])


def main(line):
	string = line[0][0]
	numbers = string.split('+')
	numbers = sorted(numbers)
	print('+'.join(numbers))
main([[input()]])


def string(str1):
	count1operand = 0
	count2operator = 0
	add = ''
	list = []
	for i in str1:
		if i == '1':
			s = 1
			list.append(s)
			s = 0
		elif i == '2':
			s = 2
			list.append(s)
			s = 0
		elif i == '3':
			s = 3
			list.append(s)
			s = 0
	list.sort()
	for k in list:
		count1operand += 1
	for z in list:
		print(z, end='')
		if count2operator < count1operand - 1:
			print('+', end='')
			count2operator += 1
string(input())


summa = [int(number) for number in input().split('+')]
summa.sort()
result = ''
for number in summa:
	result += str(number) + '+'
print(result[:len(result) - 1])


string = input()
lst = list(string.split('+'))
lst.sort()
str = ''
for i in lst:
	str += i + '+'
print(str[:-1])


expression = input()
expression = expression.replace('+', '')
expression = sorted(expression)
expression = ''.join(expression)
expression = '+'.join(expression)
print(expression)


s = input()
l = []
for x in s:
	if x.isdigit():
		l.append(int(x))
l.sort()
for x in range(len(l) - 1):
	print(str(l[x]) + '+', end='')
print(l[-1])


s = input()
string = ''
for i in range(0, len(s), 2):
	string += s[i]
	sequencedString = sorted(string)
result = '+'.join(sequencedString)
print(result)


s = input()
q = []
r = []
for i in range(1):
	r.append(s[::2])
for j in range(len(r[0])):
	q.append(r[0][j])
q.sort()
q = '+'.join(q)
print(q)


op = input()
op = op.split('+')
op.sort()
length = len(op) - 1
for i in range(length):
	op[i] = op[i] + '+'
print(''.join(op))


def partition(arr, low, high):
	i = low - 1
	pivot = arr[high]
	for j in range(low, high):
		if arr[j] <= pivot:
			i += 1
			(arr[j], arr[i]) = (arr[i], arr[j])
	(arr[i + 1], arr[high]) = (arr[high], arr[i + 1])
	return i + 1

def Quicksort(arr, low, high):
	if low < high:
		pi = partition(arr, low, high)
		Quicksort(arr, low, pi - 1)
		Quicksort(arr, pi + 1, high)
arr = []
n = input()
number = len(n)
for i in range(0, number):
	if i % 2 == 1:
		continue
	arr.append(int(n[i]))
Quicksort(arr, 0, len(arr) - 1)
for i in range(0, len(arr)):
	if i != len(arr) - 1:
		(print(str(arr[i]), '+', sep='', end=''),)
	else:
		print(str(arr[i]))


myinput = input().split('+')
myinput2 = [int(i) for i in myinput]
while True:
	search = False
	for y in range(1, len(myinput)):
		if myinput[y - 1] > myinput[y]:
			search = True
			temp = myinput[y - 1]
			myinput[y - 1] = myinput[y]
			myinput[y] = temp
			break
	if search == False:
		break
myinput2 = [str(i) for i in myinput]
print('+'.join(myinput2))


summands = [int(i) for i in input().split('+')]
summands.sort()
print(*summands, sep='+')


numList = []
math = input('')
mathLen = len(math)
for i in range(0, mathLen):
	if math[i] != '+':
		numList.append(math[i])
numberList = sorted(numList)
numListLen = len(numberList)
resultList = ''
for i in range(0, numListLen):
	ele = numberList[i]
	resultList = resultList + ele + '+'
resultList = resultList[:-1]
print(resultList)


l = list(input())
arr = []
for i in range(0, len(l), 2):
	arr.append(int(l[i]))
arr.sort()
for i in range(len(arr) - 1):
	print(arr[i], end='+')
print(arr[-1])


w1 = str(input())
print('+'.join(sorted(w1[::2])))


s = list(input())
l = []
ss = ''
for i in range(len(s)):
	if s[i].isnumeric():
		l.append(int(s[i]))
l.sort()
for i in range(len(l)):
	ss += str(l[i]) + '+'
print(ss[:len(ss) - 1])


s = input()
if len(s) == 1:
	print(s)
else:
	l = [None] * len(s)
	o = s.count('1')
	tw = s.count('2')
	t = s.count('3')
	p = s.count('+')
	index = 0
	while o != 0:
		l[index] = '1'
		index += 2
		o -= 1
	while tw != 0:
		l[index] = '2'
		index += 2
		tw -= 1
	while t != 0:
		l[index] = '3'
		index += 2
		t -= 1
	j = 1
	while p != 0:
		l[j] = '+'
		j += 2
		p -= 1
	z = ''.join([str(x) for x in l])
	print(z)


kata = input()
if len(kata) == 1:
	print(kata)
else:
	angkas = []
	simbols = []
	foundAngka = ''
	for i in range(len(kata)):
		iAlpha = ord(kata[i])
		if iAlpha < 48 or iAlpha > 57:
			angkas += [int(foundAngka)]
			foundAngka = ''
			simbols += [kata[i]]
			continue
		foundAngka += kata[i]
	angkas += [int(foundAngka)]
	for i in range(1, len(angkas)):
		temp = angkas[i]
		j = i - 1
		while j >= 0 and temp < angkas[j]:
			angkas[j + 1] = angkas[j]
			j = j - 1
		angkas[j + 1] = temp
	for i in range(len(simbols)):
		print(str(angkas[i]) + simbols[i], end='')
	print(angkas[len(angkas) - 1])


a = input()
d = []
i = 0
while i < len(a):
	b = ''
	if a[i] != '+':
		b = a[i]
		d.append(int(a[i]))
	i += 1
d.sort()
ans = ''
for i in d:
	ans += str(i)
	ans += '+'
print(ans[:len(ans) - 1])


s = input()
nl = [int(l) for l in s.split('+')]
nl.sort()
so = ''
m = 0
for k in nl:
	if m == 0:
		so = so + str(k)
	else:
		so = so + '+' + str(k)
	m = m + 1
print(so)


temp = input().split('+')
temp.sort()
print('+'.join(temp))


a = input()
if len(a) == 1:
	print(a)
else:
	k = a.split('+')
	l = []
	for i in k:
		l.append(int(i))
	l = sorted(l)
	for i in range(len(l) - 1):
		print(str(l[i]) + '+', end='')
	print(l[i + 1])


a = input()
a = ''.join(sorted(a)).replace('+', '')
for i in range(len(a)):
	if i == len(a) - 1:
		print(a[i], end='')
	else:
		print(a[i], end='+')


sumInput = input()
numbers = []
for i in range(len(sumInput)):
	if sumInput[i] != '+':
		numbers.append(int(sumInput[i]))
for i in range(1, len(numbers)):
	key = numbers[i]
	j = i - 1
	while key < numbers[j] and j >= 0:
		numbers[j + 1] = numbers[j]
		numbers[j] = key
		j -= 1
numbersAndAddition = []
j = 0
for i in range(len(numbers) * 2 - 1):
	if i % 2 == 0:
		numbersAndAddition.append(str(numbers[j]))
		j += 1
	else:
		numbersAndAddition.append(str('+'))
for i in range(len(numbersAndAddition)):
	print(numbersAndAddition[i], end='')


def insert(l):
	for i in range(0, len(l)):
		for j in range(i, len(l)):
			if l[i] > l[j]:
				(l[j], l[i]) = (l[i], l[j])
	return l
s = input()
s = s.split('+')
s = insert(s)
print(*s, sep='+')


x = list(input())
x = [i for i in x if i not in '+']
x.sort()
for i in range(0, len(x) - 1, 1):
	print('{}+'.format(x[i]), end='')
print(x[len(x) - 1])


q = list(map(int, input().split('+')))
w = list(map(str, sorted(q)))
r = '+'
r = r.join(w)
print(r)


n = input()
l1 = []
array = ''
for i in range(len(n)):
	if n[i] == '1' or n[i] == '2' or n[i] == '3':
		l1.append(n[i])
l1.sort()
for j in range(len(l1) - 1):
	k = l1[j] + '+'
	array += k
print(array + l1[-1])


k = input().replace('+', '')
k = list(k)
k.sort()
sd = ''
if len(k) > 1:
	for i in range(len(k) - 1):
		sd = sd + k[i]
		sd = sd + '+'
	sd = sd + k[-1]
	print(sd)
else:
	print(k[0])


y = str(input())
x = ''
for i in y:
	if i == '1':
		x = x + i + '+'
	else:
		pass
for i in y:
	if i == '2':
		x = x + i + '+'
	else:
		pass
for i in y:
	if i == '3':
		x = x + i + '+'
	else:
		pass
print(x[:len(x) - 1])


print('+'.join(map(str, sorted(map(int, filter(str.isnumeric, input()))))))


s = input()
t = len(s)
k = 0
l = []
j = ''
for i in range(0, len(s)):
	if i == len(s) - 1:
		l.append(s[i])
	if s[i] == '+':
		l.append(s[i - 1])
	else:
		continue
l.sort()
for i in range(0, len(l)):
	if i == len(l) - 1:
		j = j + l[i]
	else:
		j = j + l[i] + '+'
	i = i + 1
print(j)


A = input()
v = ''
new = A.split('+')
n = 0
for i in sorted(new):
	v = v + i
	l = len(new)
	if '+' in A and n < l - 1:
		v += '+'
		n += 1
print(v)


def convert(arr):
	arr = arr.split('+')
	for i in range(len(arr)):
		arr[i] = int(arr[i])
	return arr
sum = input()
numList = convert(sum)
numList.sort()
sum = ''
for i in range(len(numList)):
	sum += str(numList[i]) + '+'
sum = sum[:len(sum) - 1]
print(sum)


print(' '.join(sorted(list(input().split('+')))).replace(' ', '+'))


s = input()
s = s.split('+')
r = []
for i in range(0, len(s)):
	r.append(int(s[i]))
r.sort()
print('+'.join((str(item) for item in r)))


str1 = str(input())
str3 = sorted(str1)
str2 = str1.count('+')
for x in range(str2 + 1):
	print(str3[x + str2], end='')
	if x < str2:
		print('+', end='')


x = input()
l = list()
t = list()
for i in range(len(x)):
	if x[i] != '+':
		l.append(int(x[i]))
l = sorted(l)
for j in range(len(l)):
	t.append(l[j])
	if j <= len(l) - 2:
		t.append('+')
print(''.join(map(str, t)))


n = sorted(input().split('+'))
string = ''
for i in n:
	string += i + '+'
print(string[:-1])


s = input().split('+')
s.sort()
for i in s[:-1]:
	print(i + '+', end='')
print(s[-1])


word1 = input()
word1 = word1.split('+')
word1.sort()
output = '+'.join(word1)
print(output)


s = input()
lst = []
sr = ''
for i in s:
	if ord(i) >= 48 and ord(i) <= 57:
		lst.append(int(i))
for i in range(len(lst)):
	for j in range(len(lst) - 1):
		if lst[j] > lst[j + 1]:
			t = lst[j + 1]
			lst[j + 1] = lst[j]
			lst[j] = t
for k in lst:
	sr += str(k) + '+'
print(sr[:len(sr) - 1])


import math
line = input()
nums = line.split('+')
nums.sort()
result = ''
for num in nums:
	if result != '':
		result += '+'
	result += num
print(result)


h = input()
lt = []
for i in range(len(h)):
	if h[i] == '1' or h[i] == '2' or h[i] == '3':
		lt.append(h[i])
r = ''
lt.sort()
for i in range(len(lt) - 1):
	r += lt[i]
	r += '+'
r += lt[-1]
print(r)


n = input()
s = list()
a = list()
c = 0
for i in n:
	if i != '+':
		s.append(int(i))
s.sort()
for i in s:
	a.append(i)
	if c < len(s) - 1:
		a.append('+')
	c = c + 1
for i in a:
	print(i, end='')


s = input()
x = 0
y = 0
z = 0
for i in range(0, len(s), 2):
	if s[i] == '1':
		x += 1
	elif s[i] == '2':
		y += 1
	else:
		z += 1
out = '1+' * x + '2+' * y + '3+' * z
print(out[:-1])


str = input()
nums = []
for i in str:
	if i != '+':
		nums.append(i)
nums.sort()
print(*nums, sep='+')


x = input('')
lenx = int(len(x))
c = ''
for k in range(200):
	if c == x:
		break
	for l in range(0, lenx, 2):
		try:
			if str(x[l + 2]) == '+' or str(x[l]) == '+':
				pass
			elif int(x[l + 2]) < int(x[l]):
				a = x[l + 2]
				b = x[l]
				c = x
				x = x[:l] + a + '+' + b + x[l + 3:lenx]
			else:
				pass
		except IndexError:
			pass
print(x)


def main():
	from sys import stdin, stdout
	l = list(map(str, stdin.readline().strip().split('+')))
	l.sort()
	stdout.write('+'.join(l))
main()


name = input()
b = []
for i in range(len(name)):
	if name[i] != '+':
		b.append(name[i])
	else:
		continue
b.sort()
for s in range((len(name) - 1) // 2 + 1):
	print(b[s], end='')
	if s != (len(name) - 1) // 2 + 0:
		print('+', end='')


s = input()
s = s.replace('+', '')
s = list(s)
s.sort()
n = len(s)
end = []
for i in range(0, n):
	end.append(s[i])
	end.append('+')
end.pop()
n = len(end)
for i in range(0, n):
	print(end[i], end='')


ls = list(map(int, input().split('+')))
ls.sort()
print('+'.join(map(str, ls)))


def rit(l):
	k = []
	for i in l:
		if i != '+':
			k.append(int(i))
	k = sorted(k)
	for i in range(len(k) - 1):
		print(str(k[i]) + '+', end='')
	print(str(k[len(k) - 1]))
l = []
arr = input()
l = arr.split('+')
rit(l)


listNumber = list(map(int, input().split('+')))

def mergesort(listA, n):
	if n > 1:
		nL = n // 2
		nR = n - nL
		L = listA[:nL]
		R = listA[nL:]
		mergesort(L, nL)
		mergesort(R, nR)
		merge(listA, L, nL, R, nR)

def merge(a, L, nL, R, nR):
	i = 0
	j = 0
	k = 0
	while i < nL and j < nR:
		if L[i] < R[j]:
			a[k] = L[i]
			i = i + 1
		else:
			a[k] = R[j]
			j = j + 1
		k = k + 1
	while i < nL:
		a[k] = L[i]
		i = i + 1
		k = k + 1
	while j < nR:
		a[k] = R[j]
		j = j + 1
		k = k + 1
mergesort(listNumber, len(listNumber))
for x in range(len(listNumber) - 1):
	print(listNumber[x], end='+')
print(listNumber[-1])


t = input()
sort = [i for i in t if i.isnumeric()]
print('+'.join(sorted(sort)))


x = input()
arr = [0] * 3
for i in range(0, len(x)):
	if x[i] != '+':
		if x[i] == '1':
			arr[0] += 1
		elif x[i] == '2':
			arr[1] += 1
		else:
			arr[2] += 1
ans = ''
count = 0
for i in range(0, 3):
	for j in range(0, arr[i]):
		if count < len(x) - 1:
			ans += str(i + 1) + '+'
			count += 2
		else:
			ans += str(i + 1)
print(ans)


s = input().split('+')
s = sorted(s, reverse=False)
k = []
for i in s:
	k.append(i)
	k.append('+')
del k[-1]
for i in k:
	print(i, end='')


num = input().split('+')
for c in range(len(num)):
	num[c] = int(num[c])
num.sort()
out = ''
for c in range(len(num)):
	out += str(num[c]) + '+'
print(out[:-1])


print('+'.join((str(i) for i in sorted(map(int, input().strip().split('+'))))))


d = str(input())
s = d.split('+')
s.sort(reverse=True)
l = len(s)
while l > 0:
	l -= 1
	if l != 0:
		print(s[l] + '+', end='')
	else:
		print(s[l])


import sys
s = str(input())
s = s.lower()
l = []
for _ in range(len(s)):
	if s[_] == '+':
		continue
	else:
		l.append(s[_])
l.sort()
for _ in range(len(l)):
	if _ != len(l) - 1:
		print(l[_], '+', sep='', end='')
	else:
		print(l[-1])


problem = input()
length = len(problem)
string = ''
for i in range(0, len(problem), 2):
	string = string + problem[i]
numberlist = sorted(string)
delimiter = '+'
solution = delimiter.join(numberlist)
print(solution)


n = input()
a = []
for i in n:
	if i != '+':
		a.append(int(i))
a.sort()
for i in range(len(a)):
	print(a[i], end='')
	if i != len(a) - 1:
		print('+', end='')


a = input()
if len(a) == 1:
	print(a)
else:
	ch = ''
	a = a.replace('+', '')
	a = sorted(a)
	for i in a:
		ch += i + '+'
	print(ch[:len(ch) - 1])


inp = input()
l = list(inp)
n = list(filter(lambda x: x != '+', l))
n.sort()
n = '+'.join(map(str, n))
print(n)


expressao = input()
answer = []
for element in expressao:
	if element != '+':
		answer.append(int(element))
answer.sort()
i = 0
final = ''
while i < len(answer):
	if i < len(answer) - 1:
		final += str(answer[i])
		final += '+'
	else:
		final += str(answer[i])
	i = i + 1
print(final)


y = input()
x = len(y)
list1 = list(y)
list2 = []
for i in range(0, len(list1), 2):
	list2.append(list1[i])
list2.sort()
for i in range(len(list2) - 1):
	print(str(list2[i]) + '+', end='')
print(list2[-1])


s = str(input())
s = s.replace('+', '')
l = list(s)
l.sort()
if len(s) > 1:
	i = 0
	while True:
		l.insert(i * 2 + 1, '+')
		if i == len(s) - 2:
			break
		i += 1
print(''.join(l))


string = input()
i = 0
num = []
numo = []
while i < len(string):
	z = int(string[i])
	num.append(z)
	i += 2
num.sort()
i = 0
while i < len(num):
	num[i] = str(num[i])
	i += 1
i = 1
z = len(num) * 2 - 1
while i < z:
	num.insert(i, '+')
	i += 2
print(''.join(num))


def solution(s):
	arr = s.split('+')
	arr.sort()
	print('+'.join(arr))

def main():
	s = input()
	solution(s)
main()


s = input()
r = ''
l = len(s)
for i in range(0, l, 2):
	if s[i] == '1':
		r = r + '1+'
for i in range(0, l, 2):
	if s[i] == '2':
		r = r + '2' + '+'
for i in range(0, l, 2):
	if s[i] == '3':
		r = r + '3' + '+'
for i in range(l):
	print(r[i], end='')


a = input()
res = ''
for x in range(a.count('1')):
	res += '1+'
for x in range(a.count('2')):
	res += '2+'
for x in range(a.count('3')):
	res += '3+'
print(res[:-1])


s = input()
words = [word for word in s.split('+')]
words.sort(reverse=False)
print('+'.join(words))


x = input()
ls = list()
for i in x:
	if i >= '1' and i <= '3':
		ls.append(i)
ls.sort()
for i in range(0, len(x)):
	if i % 2 != 0:
		ls.insert(i, '+')
for i in ls:
	print(i, end='')


s = input()
l = list(map(int, s.split('+')))
l.sort()
fs = ''
for i in range(len(l)):
	fs += str(l[i])
	fs += '+'
fs = fs[0:len(s)]
print(fs)


x = input()
noPlus = x.split('+')
noPlus.sort()
final = '+'.join(noPlus)
print(final)


s = input()
array = []
if len(s) > 1:
	w = s.split('+')
	for char in w:
		n = int(char)
		array.insert(len(array), n)
	array = sorted(array)
	s2 = ''
	for i in range(0, len(array)):
		if not i == len(array) - 1:
			s2 = s2 + str(array[i]) + '+'
		else:
			s2 = s2 + str(array[i])
	print(s2)
else:
	print(s)


s = input()
a = []
for i in range(0, len(s), 2):
	a += s[i]
a.sort()
if len(a) == 1:
	print(str(a[0]))
else:
	print('+'.join(map(str, a)))


an = input()
an = an.split('+')
an.sort()
print('+'.join(an))


x = map(int, input().split('+'))
lst = []
str1 = ''
for i in x:
	lst.append(i)
k = sorted(lst)
for i in k:
	str1 += str(i) + '+'
str1 = str1[0:len(str1) - 1]
print(str1)


from sys import stdin, stdout
s = stdin.readline().strip()
s_list = s.split('+')
s_list.sort()
new_s = '+'.join(s_list)
stdout.write(new_s)


n = input()
l = sorted(list(n))
y = len(l) // 2
print('+'.join(map(str, list(l[y:]))))


s = list(map(int, input().split('+')))
s.sort()
a1 = 0
a2 = 0
a3 = 0
print(*s, sep='+')


arr = input().split('+')
n = len(arr)
sortedArr = sorted(arr)
print(sortedArr[0], end='')
for i in range(1, n):
	print('+' + sortedArr[i], end='')


str1 = input()
a = str1.count('1')
b = str1.count('2')
c = str1.count('3')
d = str1.count('+')
for i in range(a):
	print('1', end='')
	if d > 0:
		print('+', end='')
		d -= 1
for j in range(b):
	print('2', end='')
	if d > 0:
		print('+', end='')
		d -= 1
for k in range(c):
	print('3', end='')
	if d > 0:
		print('+', end='')
		d -= 1


l = input()
l = l[::2]
l = [int(x) for x in l]
l.sort()
s = str(''.join(map(str, l)))
x = ''
for i in s:
	x = x + i + '+'
print(x[:len(x) - 1])


import sys
it = iter(sys.stdin.read().splitlines())
l = sorted(next(it).split('+'))
s = '+'.join(l)
print(s)


problem = input().split('+')
sol = []
for i in range(int(len(problem))):
	for j in range(int(len(problem)) - 1):
		if problem[j] > problem[i]:
			temp = problem[j]
			problem[j] = problem[i]
			problem[i] = temp
for k in range(int(len(problem))):
	sol.append(problem[k])
	if k != int(len(problem)) - 1:
		sol.append('+')
print(''.join(sol))


equation = sorted(input().split('+'))
res = ''
for i in equation:
	if res != '':
		res += '+'
	res += str(i)
print(res)


try:
	s = input()
	l = list(s.split('+'))
	l.sort()
	print('+'.join(l))
except:
	pass


n = input()
lst = []
for i in range(len(n)):
	if i % 2 == 0:
		lst.append(int(n[i]))
lst.sort()
for i in range(len(lst)):
	print(lst[i], end='')
	if i != len(lst) - 1:
		print('+', end='')
print()


s = input()
s = s.split('+')
ordered = 0
if len(s) == 1:
	ordered = 1
while ordered == 0:
	changed = 0
	for i in range(0, len(s) - 1):
		if s[i] > s[i + 1]:
			temp = s[i + 1]
			s[i + 1] = s[i]
			s[i] = temp
			changed = 1
		if changed == 1:
			ordered = 0
		else:
			ordered = 1
print('+'.join(s))


list = input()
a = ''
for i in range(0, len(list), 2):
	a += list[i]
	output = sorted(a)
print('+'.join(output))


a = str(input())
i = 0
b = []
while i <= len(a) - 1:
	b.append(a[i])
	i = i + 2
b = sorted(b)
c = ''
if len(a) == 1:
	print(a)
else:
	for i in range(len(b) - 1):
		c = c + b[i] + '+'
	c = c + b[-1]
	print(c)


s = input().split('+')
c1 = 0
c2 = 0
c3 = 0
for x in range(len(s)):
	if s[x] == '1':
		c1 += 1
	elif s[x] == '2':
		c2 += 1
	else:
		c3 += 1
ans = '1+' * c1 + '2+' * c2 + '3+' * c3
print(ans[:-1])


a = str(input())
l = list(a[::2])
g = list(a[1::2])
l.sort()
m = ''
for i in range(len(a)):
	if i % 2 == 0:
		m = m + l[i // 2]
	else:
		m = m + g[i // 2 - 1]
print(m)


expression = [int(x) for x in input().split('+')]
expression.sort()
answer = str(expression[0])
for i in range(1, len(expression)):
	answer += '+' + str(expression[i])
print(answer)


s = input()
s2 = s.split('+')
n = int((len(s) + 1) / 2)
a = 0
b = []
j = ''
if n == 1:
	print(s)
else:
	for i in range(n):
		b.append(s2[a])
		a = a + 1
	b.sort()
	a = 0
	for i in range(n):
		j = j + str(b[a])
		if a != n - 1:
			j = j + '+'
		a = a + 1
print(j)


n = input()
lis = list(n)
l = ['+']
li = []
for i in lis:
	if i not in l:
		li.append(i)
li.sort()
L = len(li)
for i in range(1, L * 2 - 1, 2):
	li.insert(i, '+')
list = ''.join(li)
print(list)


exp = input().split('+')
exp.sort()
print('+'.join(exp))


print('+'.join([str(i) for i in list(sorted([int(i) for i in input().split('+')]))]))


ex_input = input().split('+')
ex_input.sort()
new_ex = ex_input[0]
for x in ex_input[1:]:
	new_ex += '+' + x
print(new_ex)


s = input()
nums = s.split('+')
nums.sort()
arr = ''
for x in nums:
	arr += x + '+'
arr = arr[:-1]
print(arr)


x = input()
b = ''.join(sorted(x))
li = []
for i in b:
	if i != '+':
		li.append(i)
for x in range(len(li)):
	print(li[x], end='')
	if x != len(li) - 1:
		print('+', end='')
print()


nums = input('')
nums = nums.split('+')
nums.sort()
final = ''
for num in nums:
	final += num
	final += '+'
print(final[:-1])


s = input()
x = s.split('+')
i = 0
while i != len(x):
	j = i + 1
	while j != len(x):
		if x[i] > x[j]:
			(x[i], x[j]) = (x[j], x[i])
		j += 1
	i += 1
s = '+'.join(x)
print(s)


n = input()
n = n.split('+')
for i in range(len(n)):
	n[i] = int(n[i])
n = sorted(n)
res = ''
for i in range(len(n)):
	res += str(n[i]) + '+'
print(res[:len(res) - 1])


s = list(map(int, input().split('+')))
list.sort(s)
i = 0
l = len(s)
while i < l:
	print(s[i], end='')
	if i < l - 1:
		print('+', end='')
	i += 1


ls = [int(i) for i in input().split('+')]
ls.sort()
for i in range(len(ls)):
	print('%d' % ls[i], end='\n' if i == len(ls) - 1 else '+')


t = []
c = 0
s = ''
n = input()
for i in n:
	if n[c] != '+':
		t.append(n[c])
	c = c + 1
t.sort()
for i in t:
	s = s + i + '+'
print(s[:-1])


inp = input().split('+')
array = list(map(int, inp))
array.sort()
print('+'.join(map(str, array)))


inp = input()
l = inp.split('+')
l.sort()
b = list()
k = len(l)
for i in range(k):
	b.append(l[i])
	b.append('+')
s1 = ''.join(b)
print(s1[:-1])


s = input().split('+')
a = 0
b = 0
c = 0
for i in s:
	if i == '1':
		a += 1
	if i == '2':
		b += 1
	if i == '3':
		c += 1
a_s = ['1' for i in range(a)]
b_s = ['2' for i in range(b)]
c_s = ['3' for i in range(c)]
res = a_s + b_s + c_s
print('+'.join(res))


masukan = input()
if '+' not in masukan:
	print(masukan)
else:
	res = sorted([int(item) for item in masukan.split('+')])
	print('+'.join([str(item) for item in res]))


s = [ch for ch in input()[::2]]
s.sort()
for i in s[:-1]:
	print(i + '+', end='')
print(s[-1])


given_sum = [str(i) for i in input().split('+')]
print('+'.join(sorted(given_sum)))


n = input()
l1 = []
m = ''
for i in n:
	l1.append(i)
l3 = l1[::-2]
l3.sort()
for j in range(len(l3)):
	m = m + l3[j] + '+'
print(m[:-1])


word = input()
temp = word.split('+')
lis = list()
for i in range(len(temp)):
	lis.append(eval(temp[i]))
lis.sort()
result = ''
first = True
for j in lis:
	if first:
		result += str(j)
		first = False
	else:
		result += '+' + str(j)
print(result)


s = input()
a = ''
b = ''
c = ''
if s == 1 or s == 2 or s == 3:
	print(s)
else:
	for i in s:
		if i == '1':
			a = a + i + '+'
		if i == '2':
			b = b + i + '+'
		if i == '3':
			c = c + i + '+'
	d = a[:] + b[:] + c[:]
	d = d[:-1]
	print(d)


s = input().split('+')
a = [0, 0, 0]
for i in s:
	a[int(i) - 1] += 1
l = a[0] + a[1] + a[2] - 1
for i in range(3):
	while a[i] != 0:
		print(i + 1, end='')
		a[i] -= 1
		if l > 0:
			print('+', end='')
			l -= 1


def helpful_maths(myStr):
	if len(myStr) <= 1:
		print(myStr)
		return
	summans = list(myStr.split('+'))
	summans_s = sorted(summans)
	res = summans_s[0] + '+'
	print(str(res) + '+'.join(summans_s[1:]))
value = str(input())
helpful_maths(value)


num = input().split('+')
num.sort()
output = ''
for number in num:
	output = output + number + '+'
print(output[:-1])


n = input().split('+')
n.sort()
ans = n[0]
for i in range(1, int(len(n))):
	ans = ans + '+' + n[i]
print(ans)


word = list(map(int, input().split('+')))
word.sort()
print(word[0], end='')
if len(word) != 1:
	for i in range(1, len(word)):
		print('+%d' % word[i], end='')


s = input()
if '+' in s:
	st = s.replace('+', '')
	li = [int(x) for x in st]
	li.sort(key=int)
	new = '+'.join((str(e) for e in li))
	print(new)
else:
	print(s)


strings = input()
string = strings.split('+')
string.sort(key=int)
for i in range(len(string) - 1):
	print(string[i], end='+')
print(string[len(string) - 1])


import math
a = input()
sorted_characters = sorted(a)
a = ''.join(sorted_characters)
l = len(a)
print(a[math.floor(l / 2)], end='')
for i in range(math.floor(l / 2) + 1, l):
	print('+' + a[i], end='')


arr = list(map(int, input().split('+')))
arr.sort()
s = ''
for i in arr:
	s += str(i) + '+'
print(s[0:len(s) - 1])


import sys
str1 = input()
str2 = str1.replace('+', '')
str3 = sorted(str2)
for i in range(len(str3)):
	write = sys.stdout.write
	write(str(str3[i]))
	if i != len(str3) - 1:
		write('+')


a = input()
output = []
if '+' in a:
	b = a.split('+')
	b.sort()
	for i in range(1, len(b) + 1):
		output.append('+')
		output.append(b[i - 1])
	del output[0]
	output_1 = ''.join([str(i) for i in output])
	print(output_1)
else:
	print(a)


s = input()
l = len(s)
res = []
if l > 0 and l <= 100:
	for x in s:
		if x == '+':
			pass
		else:
			res.append(int(x))
	res.sort()
	print(*res, sep='+')


def abc(s):
	l = []
	for ele in s:
		if ele != '+':
			l.append(ele)
	l.sort(reverse=False)
	st = ''
	for i in range(len(l)):
		if i == len(l) - 1:
			st += l[i]
		else:
			st += l[i] + '+'
	return st
n = input()
print(abc(n))


ogSum = list(map(int, input().split('+')))
ogSum.sort()
finSum = ''
for i in ogSum:
	finSum += str(i) + '+'
print(finSum[:-1])


a = input()
a = a.split('+')
a.sort()
new = ''
for i in a:
	new += i + '+'
print(new[:-1])


x = input()
out = ''
for c in x:
	if c == '1':
		out += '1+'
for c in x:
	if c == '2':
		out += '2+'
for c in x:
	if c == '3':
		out += '3+'
out = out[:-1]
print(out)


string = input()
if len(string) == 1:
	print(string)
else:
	lst = []
	for item in string:
		if item != '+':
			lst.append(int(item))
	lst.sort()
	newStr = ''
	for item in lst:
		newStr = newStr + str(item) + '+'
	print(newStr[:len(newStr) - 1])


n = input()
a = n.split('+')
if len(a) == 1:
	print(n)
else:
	a.sort()
	st = ''
	for i in range(0, len(a)):
		st = st + a[i] + '+'
	st = st[0:-1]
	print(st)


n = input()
n = n.replace('+', '')
n = sorted(n)
r = ''
for i in range(len(n)):
	r += n[i] + '+'
l = []
for j in range(len(r) - 1):
	print(r[j], end='')


s = input()
s = sorted(s)
i = len(s) // 2
s = s[i:]
print('+'.join(s))


inp = input().replace('+', '')
inp = list(inp)
inp.sort()
ans = ''
lisLen = len(inp)
for x in range(lisLen - 1):
	ans = ans + inp[x] + '+'
ans = ans + inp[lisLen - 1]
print(ans)


expression = str(input())
print('+'.join(sorted(expression.split('+'))))


n = str(input())
res = ''.join(sorted(n))
x = res.replace('+', '')
print('+'.join(x))


import sys
import math
get_string = lambda : sys.stdin.readline().strip()
get_int_list = lambda : list(map(int, sys.stdin.readline().strip().split()))
get_intList_from_str = lambda : list(map(int, list(sys.stdin.readline().strip())))
get_charList_from_str = lambda : list(sys.stdin.readline().strip())
get_char_list = lambda : sys.stdin.readline().strip().split()
get_int = lambda : int(sys.stdin.readline())
pt = lambda x: sys.stdout.write(str(x))
s = list(map(int, get_string().split('+')))
print('+'.join(map(str, sorted(s))))


s = input()
c = [s.count(str(i)) for i in range(1, 4)]
n = ''
for i in range(1, 4):
	n += (str(i) + '+') * c[i - 1]
print(n[:-1])


s = [int(i) for i in input().split('+')]
for rnd in range(len(s) - 1):
	for bubble in range(len(s) - 1 - rnd):
		if s[bubble] > s[bubble + 1]:
			(s[bubble], s[bubble + 1]) = (s[bubble + 1], s[bubble])
for i in range(0, len(s)):
	if i == len(s) - 1:
		print(s[i])
	else:
		print(s[i], end='+')


a = input()
w = sorted(list(map(int, a.split('+'))))
print(*w, sep='+')


n = input()
l = []
for i in range(len(n)):
	if n[i] == '+':
		continue
	else:
		l.append(int(n[i]))
nl = sorted(l)
s = ''
for j in range(len(nl)):
	if j == len(nl) - 1:
		s += str(nl[j])
	else:
		s += str(nl[j])
		s += '+'
print(s)


n = input()
list1 = []
for i in sorted(n):
	if i != '+':
		list1.append(i)
new = ''.join((str(j) for j in list1))
print(''.join((str(new[j]) + '+' for j in range(len(new) - 1))) + new[len(new) - 1])


s = str(input())
a = list(s)
c1 = a.count('1')
c2 = a.count('2')
c3 = a.count('3')
for i in range(c1):
	print('1', sep='', end='')
	if i != c1 - 1:
		print('+', sep='', end='')
if c1 != 0 and (c2 != 0 or c3 != 0):
	print('+', sep='', end='')
for i in range(c2):
	print('2', sep='', end='')
	if i != c2 - 1:
		print('+', sep='', end='')
if c2 != 0 and c3 != 0:
	print('+', sep='', end='')
for i in range(c3):
	print('3', sep='', end='')
	if i != c3 - 1:
		print('+', sep='', end='')


s = ['', '', '']
for i in input().split('+'):
	if i == '1':
		s[0] += '+1' if s[0] else '1'
	elif i == '2':
		s[1] += '+2' if s[1] else '2'
	else:
		s[2] += '+3' if s[2] else '3'
ans = '+'.join([i for i in s if i])
print(ans)


str1 = input().split('+')
str1.sort()
x = str1[-1]
del str1[-1]
for i in str1:
	print(i + '+', end='')
print(x)


problem = list(map(int, input().split('+')))
problem.sort()
answer = ''
for item in list(problem):
	answer += str(item)
	answer += '+'
print(answer[0:len(answer) - 1])


s = list(map(int, input().split('+')))
s.sort()
print(*s, sep='+')


str1 = input()
li = str1.split('+')
li.sort()
str2 = '+'.join(li)
print(str2)


line = list(map(int, input().split('+')))
line.sort()
new_line = ''
for n in line:
	new_line += str(n) + '+'
print(new_line[:-1])


sum = input()
numbers = sum.split('+')
numbers.sort()
sum = ''
for number in numbers:
	sum += number + '+'
sum = sum[:-1]
print(sum)


a = list(input())
b = []
for i in a:
	if i.isdigit() == True:
		b.append(i)
b.sort()
print(b[0], end='')
for i in range(0, len(b) - 1):
	print('+', b[i + 1], sep='', end='')


s = input()
p = []
for i in range(len(s)):
	if s[i] != '+':
		p.append(int(s[i]))
p.sort()
while len(p) > 0:
	print(str(p.pop(0)), end='')
	if len(p) > 0:
		print('' + '+', end='')


a = input()
l = a.split('+')
l.sort()
for i in range(len(l)):
	c = l[i]
	if i == len(l) - 1:
		print(c)
		exit()
	print(c, end='+')


arr = input().split('+')
arr = sorted(arr)
for i in range(0, len(arr)):
	if i != len(arr) - 1:
		print(arr[i], end='+')
	else:
		print(arr[i])


arr = []
str1 = input('')
str1 = sorted(str1)
for i in range(0, len(str1)):
	if str1[i] == '+':
		continue
	else:
		arr.append(str1[i])
		if i < len(str1) - 1:
			arr.append('+')
for j in range(0, len(arr)):
	print(arr[j], end='')


a = input()
plus = ['+']
res1 = []
for i in a:
	if i not in plus:
		res1.append(i)
res1 = list(map(int, res1))
res2 = sorted(res1)
res3 = []
for x in res2:
	res3.append(x)
	res3.append('+')
res4 = ''.join((str(y) for y in res3))
print(res4[:-1])


angka = input().split('+')
x = len(angka)
for i in range(1, x):
	val = angka[i]
	j = i - 1
	while j >= 0 and angka[j] > val:
		angka[j + 1] = angka[j]
		j -= 1
	angka[j + 1] = val
print('+'.join(angka))


a = input().replace('+', ' ').split()
li = [int(i) for i in a]
li.sort()
li = [str(j) for j in li]
print('+'.join(tuple(li)))


s = input()
t = 0
l = []
for i in s:
	if i == '+':
		t = t + 1
	else:
		l.append(i)
l.sort()
s = ''
for i in l:
	s = s + i
	if t:
		s = s + '+'
		t = t - 1
print(s)


s = str(input())
s = s.split('+')
s = sorted((int(i) for i in s))
print(*s, sep='+')


string = input()
output = '+'.join(sorted([x for x in str(string) if x != '+']))
print(output)


st = input()
if len(st) == 1:
	print(st)
else:
	l = list(map(int, st.split('+')))
	l.sort()
	l = list(map(str, l))
	print('+'.join(l))


x = input()
x = list(x)
x.sort()
for i in x[:]:
	if i == '+':
		x.remove(i)
z = []
for i in x:
	z.append(i)
	z.append('+')
z.pop(-1)
for i in z:
	print(i, end='')


s = input()
a = []
for i in s:
	a.append(i)
le = len(a)
count = a.count('+')
for j in range(count):
	a.remove('+')
b = []
for k in a:
	k = int(k)
	b.append(k)
b.sort()
x = '+'
c = []
for l in b:
	o = str(l)
	c.append(o)
d = list(x.join(c))
str1 = ''
y = str1.join(d)
print(y)


s = str(input())
n = []
for c in s:
	if c == '+':
		continue
	elif c == '1':
		n.append(1)
	elif c == '2':
		n.append(2)
	else:
		n.append(3)
n.sort()
s = ''
for num in n:
	s = s + str(num) + '+'
print(s[:-1])


s = str(input())
n1 = 0
n2 = 0
n3 = 0
for i in s:
	if i == '1':
		n1 += 1
	elif i == '2':
		n2 += 1
	elif i == '3':
		n3 += 1
if n2 == 0 and n3 == 0:
	print((n1 - 1) * '1+' + '1')
elif n1 == 0 and n3 == 0:
	print((n2 - 1) * '2+' + '2')
elif n1 == 0 and n2 == 0:
	print((n3 - 1) * '3+' + '3')
elif n1 != 0 and n2 != 0 and (n3 != 0):
	print(n1 * '1+' + n2 * '2+' + (n3 - 1) * '3+' + '3')
elif n1 != 0 and n2 != 0:
	print(n1 * '1+' + (n2 - 1) * '2' + '2')
elif n1 != 0 and n3 != 0:
	print(n1 * '1+' + (n3 - 1) * '3+' + '3')
elif n2 != 0 and n3 != 0:
	print(n2 * '2+' + (n3 - 1) * '3+' + '3')


string = input()
l = string.split('+')
l.sort()
string = ''
for i in l:
	string += i + '+'
print(string[:-1])


x = input().split('+')
x.sort()
s = ''
i = 0
while i < len(x):
	s += x[i] + '+'
	i += 1
print(s[:-1])


def solve(strings):
	if len(strings) == 1:
		return strings
	f = []
	for s in strings:
		if s != '+':
			f.append(s)
	f.sort()
	x = ''
	i = 0
	while i < len(f):
		if i == len(f) - 1:
			x += f[i]
		else:
			x += f[i] + '+'
		i += 1
	return x
x = input()
print(solve(x))


In = input().split('+')
re = '+'.join(sorted(In))
print(re)


s = input()
a = []
for i in s:
	if i.isdigit():
		a.append(i)
a.sort()
for j in range(len(a)):
	print(a[j], end='')
	if j != len(a) - 1:
		print('+', end='')


a = input()
le = len(a)
l = list(a)
l.sort()
for i in range(le // 2, le - 1):
	print(l[i], end='+')
print(l[le - 1])


string = list(map(int, input().split('+')))
string = sorted(string)
solve = list()
for char in string:
	component = str(char)
	solve.append(component)
print('+'.join(solve))


from sys import stdin, stdout
_input = stdin.readline()
_input = list(map(int, _input.split('+')))
stdout.write('+'.join(map(str, sorted(_input))))


line = input()

def sortN(numbers):
	if len(numbers) == 1 or len(numbers) == 0:
		return numbers
	num = numbers[0]
	left = []
	mid = []
	right = []
	for i in numbers:
		if i == num:
			mid.append(i)
		elif i < num:
			left.append(i)
		else:
			right.append(i)
	return sortN(left) + mid + sortN(right)
if len(line) == 1:
	print(line)
else:
	numbers = [int(i) for i in line.split('+')]
	numbers = sortN(numbers)
	print('+'.join((str(x) for x in numbers)))


ar = input().split('+')
ar.sort()
print('+'.join(ar))


entrada = str(input())
numeros = []
mais = []
saida = ''
for i in entrada:
	if i == '+':
		mais.append(i)
	else:
		numeros.append(i)
numeros.sort()
for i in numeros:
	saida += i
	if len(mais) > 0:
		saida += mais[0]
		mais.pop()
print(saida)


nums = input().split('+')
for i in range(len(nums)):
	nums[i] = int(nums[i])
nums.sort()
new = ''
for i in range(len(nums)):
	new += str(nums[i])
	if i != len(nums) - 1:
		new += '+'
print(new)


import sys
import math

def main():
	arr = list(map(int, sys.stdin.readline().replace('+', ' ').split()))
	arr.sort()
	res = []
	for i in arr:
		res.append(str(i))
	print('+'.join(res))
main()


nums = input().strip().split('+')
nums = [int(n) for n in nums]
nums.sort()
n = len(nums)
for i in range(n):
	if i != n - 1:
		print(nums[i], end='+')
	else:
		print(nums[i])


x = input()
s1 = ''
s2 = ''
s3 = ''
for element in x:
	if element == '1':
		s1 += '1+'
	elif element == '2':
		s2 += '2+'
	elif element == '3':
		s3 += '3+'
print((s1 + s2 + s3)[0:-1])


s = input()
if len(s) == 1:
	print(s)
else:
	s = [si for si in s.split('+')]
	s.sort()
	print('+'.join(s))


thing = input()
things = []
for x in thing:
	if x.isnumeric():
		things.append(int(x))
things.sort()
num = ''
for y in things:
	num += str(y) + '+'
print(num.rstrip('+'))


string = input().split('+')
numbers = []
for i in string:
	numbers.append(int(i))
numbers.sort()
for i in range(len(numbers) - 1):
	print(str(numbers[i]), end='+')
print(str(numbers[-1]))


Nums = input().split('+')
Nums.sort()
output = ''
for i in Nums:
	output += i
	output += '+'
print(output[:-1])


string = str(input(''))
temp = string.split('+')

def insertionSort(alist):
	for index in range(1, len(alist)):
		currentvalue = alist[index]
		position = index
		while position > 0 and alist[position - 1] > currentvalue:
			alist[position] = alist[position - 1]
			position = position - 1
		alist[position] = currentvalue

def printV(alist):
	temp2 = ''
	for i in range(0, len(alist)):
		temp2 += str(alist[i])
		if i != len(alist) - 1:
			temp2 += '+'
	print(temp2)
insertionSort(temp)
printV(temp)


a = input()
t = []
for i in range(0, len(a), 2):
	t += [int(a[i])]
t.sort()
l = str(t[0])
p = 1
for i in range((len(a) - 1) // 2):
	l += '+'
	l += str(t[p])
	p += 1
print(l)


expression = [int(x) for x in input().split('+')]
expression.sort()
print('+'.join([str(x) for x in expression]))


i = list(map(int, input().replace('+', ' ').split()))
i.sort()
i = list(map(str, i))
print('+'.join(i))


str1 = input()
l = str1.split('+')
l.sort()
str2 = '+'.join(l)
print(str2)


s = input()
s = list(s.split('+'))
a = [0] * len(s)
for i in range(0, len(s)):
	a[i] = int(s[i])
a.sort()
st = ''
for i in range(0, len(a)):
	st += str(a[i])
	if i != len(a) - 1:
		st += '+'
print(st)


suma = list(map(str, input().split('+')))
suma.sort()
resp = ''
for i in range(len(suma)):
	if i != len(suma) - 1:
		resp += suma[i] + '+'
	else:
		resp += suma[i]
print(resp)


def sol(expression):
	if len(expression) == 1:
		return expression
	else:
		return '+'.join(sorted(expression.split('+')))
expression = input()
print(sol(expression))


sumz = input()
new_sum = ''
c_1 = sumz.count('1')
c_2 = sumz.count('2')
c_3 = sumz.count('3')
for i in range(c_1):
	new_sum += '1+'
for i in range(c_2):
	new_sum += '2+'
for i in range(c_3):
	new_sum += '3+'
new_sum = new_sum[0:-1]
print(new_sum)


eq = input()

def solution(equation):
	nums = [int(i) for i in equation if i.isdigit()]
	nums.sort()
	return [str(i) for i in nums]
print('+'.join(solution(eq)))


s = input().split('+')
sort_s = list(sorted(s))
print('+'.join(sort_s))


(inps, out) = (sorted(input().split('+')), '')
for i in inps:
	out += '+' + i
print(out[1:])


line = input().split('+')
if len(line) == 1:
	print(line[0])
else:
	output = []
	for num in line:
		if int(num) == 1:
			output.append(num)
	for num in line:
		if int(num) == 2:
			output.append(num)
	for num in line:
		if int(num) == 3:
			output.append(num)
	print('+'.join(output))


A = str(input())
A = A.split('+')
(c1, c2, c3) = (0, 0, 0)
for x in A:
	if x == '1':
		c1 = c1 + 1
	elif x == '2':
		c2 = c2 + 1
	else:
		c3 = c3 + 1
Cadena = ''
if c1 > 0:
	Cadena = '1' + '+1' * (c1 - 1)
	if c2 > 0 or c3 > 0:
		Cadena = Cadena + '+'
if c2 > 0:
	Cadena = Cadena + '2' + '+2' * (c2 - 1) + '+' * (c3 > 0)
if c3 > 0:
	Cadena = Cadena + '3' + '+3' * (c3 - 1)
print(Cadena)


def get_input():
	return input()

def rearrange(equation):
	equ = list(equation)
	for (index, symbol) in enumerate(equ):
		if symbol == '+':
			del equ[index]
	equ.sort()
	return '+'.join(equ)
print(rearrange(get_input()))


a = str(input())
b = list(a.split('+'))
c = sorted(b)
i = 0
r = len(c)
s = ''
while i in range(r):
	s += c[i]
	s += '+'
	i += 1
w = len(s) - 1
print(s[0:w])


a = list(input())
b = []
ans = ''
for i in range(len(a) // 2 + 1):
	b.append(a[i * 2])
b.sort()
for j in range(len(b)):
	if j == len(b) - 1:
		ans = ans + b[j]
	else:
		ans = ans + b[j] + '+'
print(ans)


ques = input()
s = ''
for i in range(len(ques)):
	if '1' in ques:
		s += '1+'
		ques = ques.replace('1', '0', 1)
	elif '2' in ques:
		s += '2+'
		ques = ques.replace('2', '0', 1)
	elif '3' in ques:
		s += '3+'
		ques = ques.replace('3', '0', 1)
print(s[:-1])


k = str(input())
if '+' not in k:
	print(k)
else:
	s = k.split('+')
	s.sort()
	x = '+'
	print(x.join(s))


x = input()
x = sorted(x.split('+'))
new_string = str()
for i in x:
	new_string = new_string + i
final = str()
for i in new_string:
	final = final + (i + '+')
print(final[:len(final) - 1])


ch = str(input())
L = ch.split('+')
L.sort()
print('+'.join(L))


s = input()
empty = ''
for i in s:
	if i != '+':
		empty += i
print('+'.join(sorted(empty)))


s = input()
a = s.split(' ')
m = []
l = []
f = []
for i in a:
	m += i
for i in m:
	if i == '+':
		i = ''
	l += i

def buble_sort(list1):
	amount = len(list1) - 1
	for i in range(0, amount):
		for x in range(0, amount):
			if list1[x] > list1[x + 1]:
				(list1[x], list1[x + 1]) = (list1[x + 1], list1[x])
	return list1
new_list = buble_sort(l).copy()
n = 0
while n < len(new_list) - 1:
	for i in new_list:
		f += i
		f += '+'
	if len(f) > len(new_list) - 1:
		break
	n += 1
if len(f) == 0:
	print(s)
else:
	del f[-1]
	m = ''.join(f)
	print(m)


a = input()
k = list(a)
i = 0
while i < len(a) // 2:
	k.remove('+')
	i += 1
b = sorted(k)
print('+'.join(b))


a = input()
l = []
if len(a) == 1:
	print(a)
	exit()
else:
	for i in a:
		if i.isdigit() == True:
			l.append(int(i))
c = sorted(l)
for i in range(len(l) - 1):
	print(str(c[i]) + '+', end='')
print(c[len(c) - 1])


def converttostr(input_seq, separator):
	final_str = separator.join(input_seq)
	return final_str
s = input('')
list = []
t = s.split('+')
t.sort()
print(converttostr(t, '+'))


n = input()
n = sorted(n.replace('+', ''))
r = ''
for x in range(len(n)):
	if x == len(n) - 1:
		r += n[x]
		break
	r += n[x] + '+'
print(r)


summans = input().split('+')
summans.sort()
number_of_summans = len(summans)
operand = '+'
summans_operand = operand.join(summans)
print(summans_operand)


s = input()
l = []
i = 0
while i < len(s):
	l.append(s[i])
	i += 2
l.sort()
l = '+'.join(l)
print(l)


n = input()
a = list()
for i in range(len(n)):
	if i % 2 == 0:
		x = n[i]
		a.append(x)
		a.sort()
for i in range(len(a)):
	print(a[i], end='')
	if i < len(a) - 1:
		print('+', end='')


s = input()
A = []
for i in s:
	if i != '+':
		A.append(int(i))
A.sort()
for i in A[:-1]:
	print(i, end='')
	print('+', end='')
print(A[-1])


s = input()
(q, l) = (['1', '2', '3'], [])
for c in s:
	if c in q:
		l.append(int(c))
l.sort()
ans = ''
for i in range(len(l) - 1):
	ans += str(l[i]) + '+'
ans += str(l[-1])
print(ans)


any_text = input()
list_num = []
for i in any_text:
	try:
		num = int(i)
		list_num.append(num)
	except ValueError:
		continue
list_num.sort()
b = '+'.join((str(x) for x in list_num))
print(b)


l = list(map(str, input().split('+')))
helpful = sorted(l)
print('+'.join(helpful))


formula = input('').split('+')

def turn_int(x):
	y = int(x)
	return y

def turn_str(x):
	y = str(x)
	return y
for i in formula:
	i = turn_int(i)
formula = sorted(formula)
for i in formula:
	i = turn_str(i)
print('+'.join(formula))


s = input()
p = []
q = ''
for i in s:
	if i.isnumeric():
		p.append(i)
p.sort()
for i in p:
	q = q + i + '+'
q = list(q)
q[len(q) - 1] = ''
print(''.join(q))


c = []
a = input()
for item in a:
	if item != '+':
		c.append(int(item))
c.sort()
print(c[0], end='')
for i in range(1, len(c)):
	print('+', end='')
	print(c[i], end='')


s = input()
ss = []
c = 0
for i in range(len(s)):
	if c % 2 == 0:
		ss.append(s[i])
		c = 1
	else:
		c = 0
ss.sort()
for i in range(len(ss) - 1):
	print(ss[i] + '+', end='')
print(ss[-1])


nums = [n for n in sorted(input().split('+'))]
print('+'.join(nums))


n = input()
n = n.replace('+', ' ')
m = n.split()
m = sorted(m)
m = '+'.join(m)
print(m)


n = input().split('+')
n.sort()
a = []
for i in n:
	a.append(i)
	a.append('+')
a.pop()
for j in a:
	print(j, end='')


s = input()
number = []
for no in s:
	if no == '+':
		pass
	else:
		number.append(no)
number.sort()
s = ''
for no in number:
	s += no + '+'
s = s[0:-1:1]
print(s)


s = input()
c = []
for i in s:
	if i != '+':
		c.append(i)
c.sort()
print(*c, sep='+')


x = list(input())
l = len(x) - 1
for i in range(0, l, 2):
	for i in range(0, l, 2):
		if x[i] > x[i + 2]:
			(x[i], x[i + 2]) = (x[i + 2], x[i])
print(''.join(x))


qs = input()
vals = qs.split('+')
for v in vals:
	v = int(v)
vals.sort()
for v in vals:
	v = str(v)
print('+'.join(vals))


s = input().split('+')
s = [int(i) for i in s]
a = sorted(s)
ans = ''
for i in range(len(s)):
	if i == len(s) - 1:
		ans += str(a[i])
	else:
		ans += str(a[i]) + '+'
print(ans)


x = input().replace('+', ' ')
a = x.count('1')
b = x.count('2')
c = x.count('3')
list = ['1' * a, '2' * b, '3' * c]
sep = '+'
print(sep.join(''.join(list)))


sum = input()
sumSort = []
for n in sum:
	if n != '+':
		sumSort.append(n)
sumSort.sort()
sortedSum = []
for n in sumSort:
	sortedSum.append(n)
	sortedSum.append('+')
print(''.join(sortedSum[:-1]))


s = input().split('+')
s.sort()
x = s[0]
for i in range(len(s) - 1):
	x += '+' + s[i + 1]
print(x)


def main():
	lst = [int(x) for x in input().split('+')]
	ones = twos = threes = 0
	for i in lst:
		if i == 1:
			ones += 1
		elif i == 2:
			twos += 1
		else:
			threes += 1
	lst = ['1'] * ones + ['2'] * twos + ['3'] * threes
	lst = '+'.join(lst)
	print(lst)
main()


temp = input().split('+')
temp.sort()
if len(temp) > 1:
	for i in range(0, len(temp) - 1):
		temp[i] = temp[i] + '+'
str1 = ''
for i1 in temp:
	str1 = str1 + i1
print(str1)


sumita = input()
sumita = sumita.replace('+', '')
numbers = []
out = ''
for i in sumita:
	numbers.append(int(i))
numbers = sorted(numbers)
for i in numbers:
	out += str(i)
	out += '+'
print(out[:-1])


str1 = list(map(int, input().split(sep='+')))
str1.sort()
length = len(str1)
result = ''
for i in range(length):
	if i != length - 1:
		result += str1[i].__str__() + '+'
	else:
		result += str1[i].__str__()
print(result)


data = input().split('+')
if len(data) < 2:
	print(*data)
else:
	print('+'.join(sorted(data)))


s = input()
s1 = ()
if len(s) <= 100:
	a = s.split('+')
	a.sort()
	s1 = '+'.join(a)
	print(s1)


def bubble_sort(list):
	for i in range(len(list) - 1, 0, -1):
		for x in range(i):
			if list[x] > list[x + 1]:
				temp = list[x]
				list[x] = list[x + 1]
				list[x + 1] = temp
	return list
operation = str(input(''))
num_list = operation.split('+')
bubble_sort(num_list)
print('+'.join(num_list))


mas = input().split('+')
count = 0
ans = ''
for i in mas:
	j = count - 1
	while j >= 0 and mas[j] > i:
		mas[j + 1] = mas[j]
		j -= 1
	mas[j + 1] = i
	count += 1
for j in mas:
	ans += j + '+'
print(ans[0:-1])


s = str(input())
array = []
for i in range(0, len(s)):
	if s[i] != '+':
		array.append(int(s[i]))
array.sort()
ans = ''
for i in range(0, len(array) - 1):
	ans += str(array[i]) + '+'
ans += str(array[len(array) - 1])
print(ans)


import sys
input = sys.stdin.readline

def instring():
	return str(input())

def helpful_math(values):
	if len(values) > 1:
		values.sort()
		print('+'.join(values))
	else:
		print(values[0])
txt = instring().rstrip()
values = txt.split('+')
helpful_math(values)


y = input()
x = y.split('+')
temp = ''
x.sort()
for p in x:
	temp += p + '+'
print(temp[:len(y)])


data = [int(s) for s in input().split('+')]
data.sort()
s = ''
for i in data:
	s = s + str(i) + '+'
print(s[:-1])


def solve(s):
	tokens = s.split('+')
	tokens = sorted(tokens)
	return '+'.join(tokens)
s = input()
print(solve(s))


inp = str(input())
inp = inp.split('+')
inp = [int(x) for x in inp]
inp.sort()
rstr = ''
for i in inp:
	rstr += str(i) + '+'
rstr = rstr[:-1]
print(rstr)


def helpful_maths(input):
	nums = [int(num) for num in input.split('+')]
	nums = sorted(nums)
	result = ''
	for num in nums:
		result += str(num) + '+'
	result = result[:-1]
	print(result)
helpful_maths(input())


a = list(input())
b = []
for i in range((len(a) + 1) // 2):
	b.append(a[2 * i])
b.sort()
print(b[0], end='')
for i in range(1, len(b)):
	print('+' + b[i], end='')


given_sum = str(input())
character_list = []
for i in given_sum:
	character_list.append(i)
number_of_characters = len(character_list)
op_list = []
for x in range(0, number_of_characters, 2):
	op_value = character_list[x]
	op_list.append(op_value)

def bubbleSort(op_list):
	n = len(op_list)
	for i in range(n - 1):
		for j in range(n - 1 - i):
			if op_list[j] > op_list[j + 1]:
				(op_list[j], op_list[j + 1]) = (op_list[j + 1], op_list[j])
bubbleSort(op_list)
count = 0
for x in range(0, number_of_characters, 2):
	character_list[x] = op_list[count]
	count = count + 1
for x in range(number_of_characters):
	print(character_list[x], end='')


a = list(map(int, input().split('+')))
a = sorted(a)
for x in range(len(a)):
	if x != len(a) - 1:
		print(str(a[x]) + '+', end='')
	else:
		print(str(a[x]), end='')


series = input()
if '+' in series:
	series = series.split('+')
	series.sort()
	summation = '+'.join(series)
	print(summation)
else:
	print(series)


suma = input()
L = []
for i in suma:
	if i != '+':
		L.append(i)
L.sort()
zuma = ''
for i in L:
	zuma = zuma + i + '+'
print(zuma[:-1])


inp = input()
arr = []
count = 0
for i in inp:
	if i != '+':
		arr.append(i)
	else:
		count += 1
arr.sort()
numCount = len(arr)
output = ''
for i in range(0, len(arr)):
	if i != len(arr) - 1:
		output += arr[i] + '+'
	else:
		output += arr[i]
print(output)


def helpful_maths():
	addition = str(input())
	addition = addition.split('+')
	addition = [int(summand) for summand in addition]
	addition = sorted(addition)
	new_addition = ''
	for summand in addition:
		new_addition += str(summand) + '+'
	print(new_addition[:-1])
helpful_maths()


s = input().split('+')
s = sorted(s)
n = len(s)
if n == 1:
	print(s[0])
else:
	for i in range(n - 1):
		print(s[i], '+', end='', sep='')
	print(s[i + 1])


s = str(input())
l = len(s)
if l == 1:
	print(s)
else:
	a = []
	for i in range(0, l, 2):
		a.append(s[i])
	a.sort()
	l1 = len(a)
	c = 0
	for j in a:
		print(j, end='')
		if c < l1 - 1:
			print('+', end='')
			c = c + 1


line = input().rstrip()
line = line.split('+')
line.sort()
print('+'.join(line))


ls = list(map(int, input().split('+')))
ls.sort()
str1 = ''
for x in ls[0:len(ls) - 1]:
	str1 += str(x) + '+'
str1 += str(ls[-1])
print(str1)


s = input()
ones = s.count('1')
twos = s.count('2')
threes = s.count('3')
result = ['1'] * ones + ['2'] * twos + ['3'] * threes
print('+'.join(result))


sums = input().split('+')
print('+'.join(sorted(sums)))


s = list(input())
(ones, twos, threes) = (0, 0, 0)
for i in s:
	if i == '1':
		ones += 1
	if i == '2':
		twos += 1
	if i == '3':
		threes += 1
i = 0
while i < ones:
	s[i] = '1'
	i += 1
while i < ones + twos:
	s[i] = '2'
	i += 1
while i < ones + twos + threes:
	s[i] = '3'
	i += 1
for j in range(i - 1):
	print(s[j] + '+', end='')
print(s[i - 1])


a = input()
a = a.split('+')
a.sort()
res = ''
len_a = len(a)
for i in range(len_a):
	res += a[i]
	if i != len_a - 1:
		res += '+'
print(res)


sum = input()
mat = []
for i in sum:
	if i != '+':
		mat.append(int(i))
l = len(mat)
for index in range(1, l):
	currentvalue = mat[index]
	position = index
	while position > 0 and mat[position - 1] > currentvalue:
		mat[position] = mat[position - 1]
		position = position - 1
	mat[position] = currentvalue
for i in range(l):
	print(mat[i], end='')
	if i != l - 1:
		print('+', end='')


s = input()
l = []
for i in s:
	if i != '+':
		l.append(i)
l.sort()
for i in range(len(s)):
	if i % 2 != 0:
		l.insert(i, '+')
for j in range(len(l)):
	print(l[j], end='')


listl = list(map(int, input().split('+')))
listl = sorted(listl)
k = ''
for i in listl:
	k = k + str(i) + '+'
print(k[:-1])


a = input()
b = []
for i in range(0, len(a), 2):
	b.append(a[i])
b = sorted(b)
for i in range(0, len(b)):
	print(b[i], end='')
	if i != len(b) - 1:
		print('+', end='')


s = input().split('+')
s.sort()
w = ''
for i in s:
	w = w + '+' + i
print(w[1:])


s = input()
n = list(s[::2])
n.sort()
f = '+'.join(n)
print(f)


s = input()
l = []
for a in s:
	if a != '+':
		l.append(a)
l = sorted(l)
n = len(l)
s = ''
s += l[0]
for i in range(1, n):
	s += '+' + str(l[i])
print(s)


n = input('')
list = []
for i in range(len(n)):
	if i % 2 == 0:
		list.append(int(n[i]))
list.sort()
data = ''
for i in range(len(list)):
	if i != len(list) - 1:
		data += str(list[i]) + '+'
	else:
		data += str(list[i])
print(data)


def toString(lis):
	return ''.join(lis)
string = str(input())
strlist = list(string)
data = []
signs = []
final = []
for x in range(0, len(string)):
	if x % 2 == 0:
		data.append(strlist[x])
	elif x % 2 != 0:
		signs.append(strlist[x])
data.sort()
fdata = 0
fsigns = 0
for y in range(0, len(string)):
	if y % 2 == 0:
		final.append(data[fdata])
		fdata += 1
	if y % 2 != 0:
		final.append(signs[fsigns])
		fsigns += 1
print(toString(final))


s = input()
s1 = 0
s2 = 0
s3 = 0
for i in range(len(s)):
	if s[i] == '1':
		s1 += 1
	if s[i] == '2':
		s2 += 1
	if s[i] == '3':
		s3 += 1
for i in range(s1 - 1):
	print('1+', end='')
if (s2 > 0 or s3 > 0) and s1 > 0:
	print('1+', end='')
if s1 > 0 and s2 == 0 and (s3 == 0):
	print('1')
for i in range(s2 - 1):
	print('2+', end='')
if s2 > 0 and s3 > 0:
	print('2+', end='')
if s2 > 0 and s3 == 0:
	print('2')
for i in range(s3 - 1):
	print('3+', end='')
if s3 > 0:
	print('3')


inp = input()
ln = len(inp)
f = []
if ln == 1:
	print(inp)
else:
	for i in range(0, ln, 2):
		f.append(inp[i])
	f.sort()
	for i in range(1, ln, 2):
		print(f[int(i / 2)], end='')
		print(inp[i], end='')
	print(f[int(i / 2) + 1])


n = input()
n = sorted(n)
K = len(n) // 2
n = n[K:]
print('+'.join(n))


s1 = sorted(list(map(int, input().split('+'))))
s = ''
s += str(s1[0])
s2 = ''.join(['+' + str(i) for i in s1[1:]])
print(s + s2)


s = input()
l = list(map(int, s.split('+')))
l.sort()
k = '+'
l = list(map(str, l))
k = k.join(l)
print(k)


a = input()
b = []
for i in range(len(a)):
	i = i * 2
	if i < len(a):
		c = int(a[i])
		b.append(c)
	else:
		break
b.sort()
s = 0
for i in range(len(b)):
	if i == len(b) - 1:
		print(b[i])
	else:
		print(b[i], end='+')


a = sorted(input())
result = a[int((len(a) - 1) / 2)]
for i in range(int((len(a) + 1) / 2), len(a)):
	result = result + '+' + a[i]
print(result)


str2 = input()
if len(str2) == 1:
	print(str2)
else:
	str1 = sorted(map(int, str2.split('+')))
	print('+'.join(map(str, str1)))


def getEquation():
	inputEqtn = input()
	if len(inputEqtn) == 0:
		return inputEqtn
	else:
		inputInts = inputEqtn.split('+')
		inputInts.sort()
		return '+'.join(inputInts)
print(getEquation())


def child_math(s):
	num = []
	real = ''
	s = s[0::2]
	for i in s:
		num.append(i)
	num.sort()
	for i in num:
		real += f'{i}+'
	return real[0:-1:1]
print(child_math(input()))


x = input()
l = x.split('+')
l = sorted(l)
p = ''
for el in l:
	p += str(el)
	p += '+'
print(p[:-1])


s = input()
n1 = n2 = n3 = 0
for i in range(0, len(s), 2):
	if s[i] == '1':
		n1 += 1
	if s[i] == '2':
		n2 += 1
	if s[i] == '3':
		n3 += 1
s = '1+' * n1 + '2+' * n2 + '3+' * n3
print(s[:-1])


s = input()
arranged = []
for i in range(0, len(s), 2):
	arranged.append(s[i])
arranged.sort()
for i in range(len(arranged)):
	print(arranged[i], end='')
	if i != len(arranged) - 1:
		print('+', end='')


strk = input()
array = strk.split('+')
array = sorted(array)
new_array = []
strk = ''
for i in range(len(array)):
	new_array.append(array[i])
	new_array.append('+')
for i in range(len(new_array) - 1):
	strk += new_array[i]
print(strk)


s = input()
w = s.split('+')
a = sorted(w)
print('+'.join(a))


from sys import stdin
l = stdin.readline().strip().split('+')
l.sort()
print('+'.join(l))


line = str(input())
r = []
for i in range(len(line)):
	if i % 2 == 0 and i != 1:
		r.append(line[i])
	else:
		pass
R = sorted(r)
print('+'.join(R))


str1 = input()
res = ''
for i in range(3):
	for j in str1:
		if j == str(i + 1):
			res += j + '+'
print(res[:len(res) - 1])


s = input('')
i = 0
l = []
while i < len(s):
	l.append(int(s[i]))
	i = i + 2
l.sort()
i = 0
while i < len(l):
	l[i] = str(l[i])
	i = i + 1
i = 1
while i < len(l):
	l.insert(i, '+')
	i = i + 2
st = ''.join((str(x) for x in l))
print(st)


(numbers, s) = (map(int, input().split('+')), '')
for number in sorted(numbers):
	s += str(number) + '+'
print(s[:-1])


s = input()
l = list(map(int, s.split('+')))
l.sort()
p = str(l[0])
for i in l[1:]:
	p += '+' + ''.join(str(i))
print(p)


x = input()
y = list()
z = ''
y = x.split('+')
y.sort()
j = 0
for i in range(len(y) * 2 - 1):
	if i % 2 == 0:
		z += y[j]
		j += 1
	else:
		z += '+'
print(z)


a = input().split('+')
b = []
for i in range(len(a)):
	b += [int(a[i])]
for i in range(len(b) - 1):
	swapp = i
	for j in range(i + 1, len(b)):
		if b[j] < b[swapp]:
			swapp = j
	if i != swapp:
		temp = b[swapp]
		b[swapp] = b[i]
		b[i] = temp
for i in range(len(b)):
	if i != len(b) - 1:
		print(b[i], end='+')
	else:
		print(b[i], end='')


n = input()
n_New = n.replace('+', '')
n_New1 = sorted(n_New)
print('+'.join(n_New1))


b = input().split('+')
b.sort()
a_ = ''
for i in range(len(b) - 1):
	a_ = a_ + b[i]
	a_ = a_ + '+'
a_ = a_ + b[len(b) - 1]
print(a_)


inp = str(input())
if len(inp) > 100:
	exit(0)
else:
	l = sorted(inp.split('+'))
	print('+'.join(l))


line = input()
res = [0, 0, 0]
for i in range(0, len(line), 2):
	res[int(line[i]) - 1] += 1
ans = ''
for i in range(3):
	if res[i] == 0:
		continue
	ans += (str(i + 1) + '+') * res[i]
ans = ans.rstrip('+')
print(ans)


def urut(data, i):
	if i == len(data) - 1:
		return data
	else:
		for j in range(i + 1, len(data)):
			if data[i] > data[j]:
				(data[i], data[j]) = (data[j], data[i])
	return urut(data, i + 1)
s = input()
array = []
for i in s:
	if i != '+':
		array += [int(i)]
a = urut(array, 0)
dB = ''
for i in range(len(a)):
	if i == 0:
		dB += str(a[i])
	else:
		dB += '+' + str(a[i])
print(dB)


x = input()
a = x.count('1')
b = x.count('2')
c = x.count('3')
if c != 0 and a != 0 and (b != 0):
	print(a * '1+' + b * '2+' + (c - 1) * '3+' + '3')
elif c == 0 and (b != 0 and a != 0):
	print(a * '1+' + (b - 1) * '2+' + '2')
elif b == 0 and (c != 0 and a != 0):
	print(a * '1+' + (c - 1) * '3+' + '3')
elif a == 0 and (b != 0 and c != 0):
	print(b * '2+' + (c - 1) * '3+' + '3')
elif b == 0 and c == 0:
	print((a - 1) * '1+' + '1')
elif a == 0 and b == 0:
	print((c - 1) * '3+' + '3')
elif a == 0 and c == 0:
	print((b - 1) * '2+' + '2')


x = input().split('+')
x.sort()
for i in x[:-1]:
	print(i, end='+')
print(x[-1])


from sys import stdin, stdout
from typing import List

def helpful_maths(nums: List[int]) -> str:
	counts = [0] * 3
	for n in nums:
		counts[n - 1] += 1
	res = []
	for (i, c) in enumerate(counts):
		n = str(i + 1)
		res.extend([n] * c)
	return '+'.join(res)

def solve():
	nums = list(map(int, stdin.readline().rstrip().split('+')))
	stdout.write(helpful_maths(nums))
solve()


the = input().split('+')
a = []
for n in the:
	a.append(int(n))
a = sorted(a)
b = []
for n in a:
	b.append(str(n))
print('+'.join(b))


a = list(map(int, input().split('+')))
a.sort()
z = [str(i) for i in a]
print('+'.join(z))


s = input().split('+')
a = []
for i in s:
	a.append(i)
a.sort()
print('+'.join(a))


str = input()
c = [0, 0, 0]
i = 0
while i < len(str):
	if str[i] == '1':
		c[0] += 1
	elif str[i] == '2':
		c[1] += 1
	else:
		c[2] += 1
	i += 2
while c[0] != 0 or c[1] != 0 or c[2] != 0:
	if c[0] != 0:
		print('1', end='')
		c[0] -= 1
	elif c[1] != 0:
		print('2', end='')
		c[1] -= 1
	elif c[2] != 0:
		print('3', end='')
		c[2] -= 1
	if c[0] != 0 or c[1] != 0 or c[2] != 0:
		print('+', end='')


equ = input()
squ = ''
for i in range(0, len(equ), 2):
	squ = squ + equ[i]
new = sorted(squ)
print('+'.join(new))


s = list(map(int, input()[::2]))
s.sort()
output = ''
for i in range(len(s)):
	output += str(s[i]) + '+'
print(output[:-1])


def sortedSum(s):
	count = [0] * 3
	for char in s:
		if char != '+':
			count[int(char) - 1] += 1
	result = [1] * count[0] + [2] * count[1] + [3] * count[2]
	return '+'.join(list(map(str, result)))
s = input()
print(sortedSum(s))


s = list(input())
for i in s:
	if i == '+':
		s.remove(i)
sor = sorted(s)
print('+'.join(sor))


print(*sorted(input().split('+')), sep='+')


S = input()
string = ''
for i in range(0, len(S), 2):
	string += S[i]
s = '+'.join(sorted(string))
print(s)


from sys import stdin
print('+'.join(sorted(stdin.readline().rstrip().split('+'))))


s = input()
x1 = s.count('1')
x2 = s.count('2')
x3 = s.count('3')
s = []
for i in range(x1):
	s += '1'
for i in range(x2):
	s += '2'
for i in range(x3):
	s += '3'
s = '+'.join(s)
print(s)


(s, v) = (input(), [])
for i in range(int((len(s) + 1) / 2)):
	v.append(s[2 * i])
v.sort()
for i in range(int((len(s) + 1) / 2)):
	s = s[:2 * i] + v[i] + s[2 * i + 1:]
print(s)


s = input()
a = s.split('+')
b = sorted(a)
c = '+'.join(b)
print(c)


import sys
input = sys.stdin.readline

def inp():
	return int(input())

def inlt():
	return list(map(int, input().split()))

def insr():
	s = input()
	return list(s[:len(s) - 1])

def invr():
	return map(int, input().split())
s = input()
arr = []
for i in range(0, len(s), 2):
	arr.append(int(s[i]))
arr.sort()
ans = str(arr[0])
for i in range(1, len(arr)):
	ans += '+' + str(arr[i])
print(ans)


s = input()
l = [s[i] for i in range(len(s)) if s[i] != '+']
l = sorted(l)
st = ''
for i in range(len(l)):
	st += l[i] + '+'
print(st[:len(st) - 1])


numbers = input().split('+')
one = int(0)
two = int(0)
three = int(0)
for n in numbers:
	if n == '1':
		one = one + 1
	if n == '2':
		two = two + 1
	if n == '3':
		three = three + 1
if one > 0:
	print('1', end='')
	one = one - 1
elif two > 0:
	print('2', end='')
	two = two - 1
elif three > 0:
	print('3', end='')
	three = three - 1
print('+1' * one + '+2' * two + '+3' * three, end='')


numbers = list(map(int, input().split('+')))
numbers = sorted(numbers)
s = ''
s = s + str(numbers[0])
for i in numbers[1:]:
	s = s + '+' + str(i)
print(s)


k = input()
a = []
for i in k:
	if i.isnumeric():
		a.append(i)
a.sort()
s = '+'.join(a)
print(s)


x = input()
a = []
for i in range(len(x)):
	if x[i] != '+':
		a.append(x[i])
a.sort()
for j in range(len(a)):
	if j < len(a) - 1:
		print(a[j] + '+', end='')
	else:
		print(a[j], end='')


pole = [int(i) for i in input().split('+')]
pole.sort()
print('+'.join([str(i) for i in pole]))


m = input()
k = [int(x) for x in m.split('+')]
k.sort()
print(*k, sep='+')


s = input()
y = []
for i in range(0, len(s)):
	if s[i] != '+':
		y.append(s[i])
y.sort()
for j in range(0, len(y)):
	if j < len(y) - 1:
		print(y[j], end='+')
	else:
		print(y[j])


line = [int(i) for i in input().split('+')]
line.sort()
answer = ''
for x in range(len(line)):
	if x != len(line) - 1:
		answer += str(line[x]) + '+'
	else:
		answer += str(line[x])
print(answer)


s = input()
arr = []
for i in range(len(s)):
	if i % 2 == 0:
		arr += [int(s[i])]
for i in range(len(arr)):
	for j in range(i + 1, len(arr)):
		if arr[i] >= arr[j]:
			(arr[i], arr[j]) = (arr[j], arr[i])
for i in range(len(arr)):
	if i < len(arr) - 1:
		print(str(arr[i]) + '+', end='')
	else:
		print(arr[i])


l = [int(i) for i in input().split('+')]
l = sorted(l)
l = [str(i) for i in l]
print('+'.join(l))


import sys
string = input()
list = string.split('+')
list.sort()
for i in range(len(list)):
	sys.stdout.write(list[i])
	if i != len(list) - 1:
		sys.stdout.write('+')


text = input()
text = text.split('+')
text.sort()
rtext = ''
for x in text:
	rtext += x + '+'
print(rtext[0:len(rtext) - 1])


a = list(map(int, input().split('+')))
a = sorted(a)
for i in a[0:-1]:
	print(i, end='+')
print(a[-1])


a = input()
arr = a.split('+')
N = len(arr)
i = 0
while i < N:
	j = 0
	while j < N - 1:
		if int(arr[j]) > int(arr[j + 1]):
			k = arr[j]
			arr[j] = arr[j + 1]
			arr[j + 1] = k
		j += 1
	i += 1
print(arr[0], end='')
for i in range(1, N):
	print('+%s' % arr[i], end='')


l = [int(i) for i in input().split('+')]
l.sort()
x = ''
for num in l:
	x = x + str(num) + '+'
print(x[0:-1])


s = input()
a = []
for i in s:
	if i == '+':
		continue
	else:
		a.append(i)
a.sort()
for i in range(1, len(s), 2):
	a.insert(i, '+')
t = ''
t = t.join(a)
print(t)


str = list(input())
arr = []
for i in range(len(str)):
	if str[i] != '+':
		arr.append(str[i])
arr.sort()
for i in range(len(arr) - 1):
	print(arr[i], end='+')
print(arr[len(arr) - 1])


s = input()
numbers = []
for i in range(len(s) + 1):
	if i % 2 == 0:
		numbers.append(s[i])
numbers.sort()
for i in range(len(s)):
	if i % 2 == 1:
		numbers.insert(i, '+')
print(''.join(numbers))


s = list(input().replace('+', ''))
arr = []
for x in s:
	arr.insert(s.index(x), int(x))
arr.sort()
s = str(arr).replace('[', '').replace(',', '+').replace(']', '').replace(' ', '')
print(s)


s = input()
d = []
l = ''
for i in s:
	if i != '+':
		d.append(i)
d = list(map(int, d))
d.sort()
for i in d:
	l += str(i) + '+'
print(l[0:len(l) - 1])


i = input()[::2]
i = sorted(i)
print('+'.join(i))


i = input()
i = [i] if '+' not in i else i.split('+')
i.sort()
print('+'.join(i))


x = str(input())
li = []
li2 = []
for i in range(len(x)):
	if i % 2 == 0 or i == 0:
		li.append(x[i])
li.sort()
for i in range(len(li)):
	if i != len(li) - 1:
		li2.append(li[i])
		li2.append('+')
	else:
		li2.append(li[i])
x = ''
for i in li2:
	x += i
print(x)


s = str(input())
try:
	a = s.split('+')
	a.sort()
	print('+'.join(a))
except:
	print(a)


a = input()
b = []
for char in a:
	if char != '+':
		b.append(int(char))
b = sorted(b)
ans = str(b[0])
if len(b) > 1:
	for i in range(1, len(b)):
		ans = ans + '+' + str(b[i])
print(ans)


word = input()
final_str = ''
num_list = list(map(int, word.split('+')))
num_list.sort()
for i in range(0, len(num_list)):
	final_str += str(num_list[i]) + '+'
print(final_str[0:len(final_str) - 1])


s = input()
Flag = False
if '+' in s:
	Flag = True
L = s.split('+')
L.sort()
if Flag == True:
	print('+'.join(L))
else:
	print(L[0])


line = input()
line = line.split('+')
length = len(line)
line2 = []
i = 0
while i < length:
	one = int(line[i])
	if one == 1:
		line2.append('1')
	i = i + 1
i = 0
while i < length:
	one = int(line[i])
	if one == 2:
		line2.append('2')
	i = i + 1
i = 0
while i < length:
	one = int(line[i])
	if one == 3:
		line2.append('3')
	i = i + 1
output = '+'.join(line2)
print(output)


string = input()
loop = []
for i in range(len(string)):
	if string[i] != '+':
		loop.append(int(string[i]))
loop = sorted(loop)
string = ''
for i in range(len(loop)):
	if i < len(loop) - 1:
		string = string + str(loop[i]) + '+'
	else:
		string = string + str(loop[i])
print(string)


test = input().split('+')
another = '+'.join(sorted(test))
print(another)


str1 = input()
list1 = []
len1 = str1.count('1')
len2 = str1.count('2')
len3 = str1.count('3')
str2 = ''
for i in range(len1):
	list1.append('1')
for i in range(len2):
	list1.append('2')
for i in range(len3):
	list1.append('3')
for i in range(len(list1) - 1):
	str2 = str2 + list1[i] + '+'
print(str2 + list1[len(list1) - 1])


from collections import Counter
import string
import math
import sys

def array_int():
	return [int(i) for i in sys.stdin.readline().split()]

def vary(number_of_variables):
	if number_of_variables == 1:
		return int(sys.stdin.readline())
	if number_of_variables >= 2:
		return map(int, sys.stdin.readline().split())

def makedict(var):
	return dict(Counter(var))
mod = 100000007
num = input()
b = []
for i in num:
	if i != '+':
		b.append(int(i))
b.sort()
ans = ''
for i in range(len(b)):
	ans += str(b[i])
	ans += '+'
print(ans[:-1])


str_1 = input()
str_2 = str_1.split('+')
str_2.sort()
str_3 = '+'.join(str_2)
print(str_3)


eq = input().split('+')
eq = [int(i) for i in eq]
eq.sort()
eq = [str(i) for i in eq]
print('+'.join(eq))


x = list(input().split('+'))
x.sort()
k = len(x)
print(x[0], end='')
for i in range(1, k):
	print('+' + x[i], end='')


suma = input()
if suma.isdigit():
	print(suma)
else:
	s = suma.split('+')
	ilist = [int(c) for c in s]
	for i in range(len(s) - 1):
		for j in range(i + 1, len(s)):
			if ilist[i] > ilist[j]:
				temp = ilist[i]
				ilist[i] = ilist[j]
				ilist[j] = temp
	flist = []
	for i in range(len(ilist)):
		flist.append(str(ilist[i]))
	print('+'.join(flist))


n = input()
q = []
for i in n:
	if i == '+':
		continue
	q.append(i)
e = 0
for i in q:
	q[e] = int(i)
	e += 1
q.sort()
m = []
for i in q:
	m.append(str(i))
	m.append('+')
m.pop(len(m) - 1)
print(''.join(m))


lst = []
t = input()
for i in range(len(t)):
	if i % 2 == 0:
		lst.append(t[i])
lst.sort()
lst2 = []
for i in lst:
	lst2.append(i)
	lst2.append('+')
lst2 = lst2[0:len(lst2) - 1]
for i in lst2:
	print(i, end='')


def main():
	z = input().split('+')
	z.sort()
	ans = '+'.join(z)
	print(ans)
main()


list1 = list(map(int, input().split('+')))
list2 = sorted(list1)
for i in list2[:-1]:
	print(i, '+', end='', sep='')
print(list2[-1])


a = str(input())
numbers = a.split('+')
numbers.sort()
print('+'.join(numbers))


st = input()
s = st.replace('+', '')
ss = '+'.join(sorted(s))
print(ss)


import sys
inf = sys.stdin
command = str(inf.readline()).strip()
one = command.count('1')
two = command.count('2')
three = command.count('3')
new_command = ''
for i in range(one):
	new_command += '1+'
for i in range(two):
	new_command += '2+'
for i in range(three):
	new_command += '3+'
print(new_command[:-1])


multiple = str(input())
multiple = multiple.replace('+', '')
answer = list(multiple)
answer.sort()
print('+'.join(answer))


str = str(input(''))
l = list(str.split('+'))
l.sort()
f = [l[0]]
for i in range(1, len(l)):
	f.append('+' + l[i])
s = ''
for x in f:
	s += x
print(s)


first = input()
first = first.replace('+', '')
first = sorted(first)
first = '+'.join(first)
print(first)


s = input()
l = []
i = 0
while i < len(s):
	l.append(s[i])
	i += 2
l.sort()
for i in range(len(l) - 1):
	print(l[i], '+', sep='', end='')
print(l[len(l) - 1])


masukan = input().split('+')
data = []
hasil = ''
if len(masukan) <= 100:
	for i in masukan:
		data += [int(i)]
	data.sort()
	for j in range(len(data)):
		if j < len(data) - 1:
			hasil += str(data[j]) + '+'
		else:
			hasil += str(data[j])
	print(hasil)


try:
	a = input()
	b = a[::2]
	c = a[1::2]
	ans = ''
	b = sorted(b)
	for j in range(len(c)):
		ans += b[j] + c[j]
	ans += b[-1]
	print(ans)
except:
	pass


s = input()
slis = list(s)
for i in slis:
	if i == '+':
		slis.remove('+')
slis.sort()
res = ''
for j in slis:
	res = res + j + '+'
res = res[:-1]
print(res)


string = input('')
string = string.replace('+', '')
one = string.count('1')
two = string.count('2')
three = string.count('3')
new_string = []
for i in range(0, one):
	new_string.append('1')
for x in range(0, two):
	new_string.append('2')
for x in range(0, three):
	new_string.append('3')
sort_string = '+'.join(new_string)
print(sort_string)


import re
print('+'.join(sorted(list(re.sub('[+]', '', input())))))


inputString = input()
gotPlus = False
for i in range(1, len(inputString)):
	if inputString[i] == '+':
		gotPlus = True
		break
if gotPlus:
	numbers = inputString.split('+')
	numbers.sort()
	inputString = ''
	for item in numbers:
		inputString += item + '+'
	inputString = inputString[:len(inputString) - 1]
	print(inputString)
else:
	print(inputString)


n = input()
if len(n) == 1:
	print(n)
else:
	n = n.split('+')
	n = [int(i) for i in n]
	n = sorted(n)
	out = ''
	for i in n:
		out += str(i) + '+'
	print(out[:-1])


s = input()
list = s.split('+')
result = ''
for x in sorted(list):
	result = result + x + '+'
print(result[0:len(result) - 1])


s = str(input('')).split('+')
nums = {1: 0, 2: 0, 3: 0}
for n in s:
	nums[int(n)] += 1
res = '1+' * nums[1] + '2+' * nums[2] + '3+' * nums[3]
if len(res) > 0:
	res = res[0:-1]
print(res)


x = input()
y = []
t = ''
for i in x:
	if i != '+':
		y.append(i)
	else:
		pass
y = sorted(y)
for i in range(len(y)):
	if i != len(y) - 1:
		t = t + y[i] + '+'
	else:
		t = t + y[i]
print(t)


problem = list(input().strip())
n = len(problem)
for i in range(0, n, 2):
	for j in range(i, n, 2):
		if problem[i] > problem[j]:
			(problem[i], problem[j]) = (problem[j], problem[i])
print(''.join(problem))


xaya_sum = input()
xaya_nums = []
final = []
final_str = ''
lenght_of_plus = int((len(xaya_sum) - 1) / 2)
for i in xaya_sum:
	if i == '+':
		pass
	else:
		xaya_nums.append(int(i))
xaya_nums.sort()
for nums in xaya_nums:
	final.append(str(nums))
	final.append('+')
if final[-1] == '+':
	del final[-1]
final_str = ''.join([str(elem) for elem in final])
print(final_str)


a = input()
l = []
for i in a:
	if i == '+':
		pass
	else:
		l.append(i)
l.sort()
print('+'.join(l))


def helpmaths():
	nums = [int(elem) for elem in input().split('+')]
	nums.sort()
	result = ''
	for i in range(0, len(nums)):
		result += str(nums[i])
		if i < len(nums) - 1:
			result += '+'
	print(result)
helpmaths()


my_str = input()
my_list = []
for x in my_str:
	if x in '123':
		my_list.append(x)
my_list.sort()
for x in range(0, len(my_list) - 1):
	print(my_list[x] + '+', end='')
print(my_list[-1])


s = input()
x = ''
y = ''
i = 0
while i < len(s) - 1:
	j = i + 2
	while j < len(s):
		if s[i] > s[j]:
			x = s[i:j + 1]
			y = x[::-1]
			s = s.replace(x, y)
		j += 2
	i += 2
print(s)


m = sorted(list(map(int, input().replace('+', ' ').split())))
for i in range(len(m)):
	if i != len(m) - 1:
		print(str(m[i]) + '+', end='')
	else:
		print(m[i])


a = input()
a = a.replace('+', ' ')
a = list(a.split())
a = sorted(a)
print(a[0], end='')
if len(a) != 1:
	print('+', end='')
for i in range(1, len(a) - 1):
	print(a[i], end='')
	print('+', end='')
if len(a) != 1:
	print(a[-1])


s = input()
if len(s) == 1:
	print(s)
else:
	l = list(s.strip().split('+'))
	l.sort()
	print('+'.join(l))


def sort(a, l, r):
	if r - l <= 1:
		return
	m = a[l]
	x = l
	y = l
	for i in range(l, r):
		if a[i] < m:
			(a[x], a[i]) = (a[i], a[x])
			if x != y:
				(a[y], a[i]) = (a[i], a[y])
			x += 1
			y += 1
		elif a[i] == m:
			(a[y], a[i]) = (a[i], a[y])
			y += 1
	sort(a, l, x)
	sort(a, y, r)

def main():
	s = list(map(int, input().split('+')))
	sort(s, 0, len(s))
	for i in range(len(s)):
		if i != len(s) - 1:
			print(s[i], end='+')
		else:
			print(s[i])
main()


t = input()
l = []
for i in t:
	if i == '+':
		pass
	else:
		l.append(int(i))
l.sort()
u = ''
for i in range(len(l) - 1):
	u = u + str(l[i]) + '+'
print(u + str(l[len(l) - 1]))


str1 = list(map(int, input().split('+')))
str1 = sorted(str1)
print('+'.join(map(str, str1)))


str = input()
lst = []
for i in range(0, len(str), 2):
	lst += str[i]
lst.sort()
lst1 = []
for i in range(len(lst)):
	lst1.append(lst[i])
	lst1.append('+')
string = ''.join(lst1[:-1])
print(string)


def main():
	numbers = getNumbers()
	numbers.sort()
	printFormatted(numbers)

def getNumbers():
	return list(map(lambda x: int(x), input().split('+')))

def printFormatted(numbers):
	print('+'.join(list(map(lambda x: str(x), numbers))))
main()


a = input()
l = []
for i in range(0, len(a), 2):
	l.append(a[i])
l.sort()
ans = ''
n = int(0)
for i in range(0, len(a)):
	if i % 2 == 0:
		ans += l[i // 2]
	else:
		ans += '+'
	i += 1
print(ans)


s = input().split('+')
a = []
for i in range(len(s)):
	a.append(s[i])
a.sort(reverse=False)
b = ''
for i in range(len(a)):
	b += str(a[i]) + '+'
print(b[0:-1])


s = input()
n = len(s)
list2 = []
for i in range(n):
	if s[i] == '+':
		continue
	else:
		list2.append(ord(s[i]) - ord('0'))
list2.sort()
fin = []
for i in range(len(list2)):
	fin.append(list2[i])
	fin.append('+')
fin.pop()
for j in range(len(fin)):
	print(fin[j], end='')


problem: str = input('')
order: list = problem.split('+')
correct: list = list(sorted(order))
answer = '+'.join(correct)
print(answer)


x = input().split('+')
x.sort()
i = 0
f = ''
x = ''.join(x)
while i < len(x):
	f += x[i] + '+'
	i += 1
print(f[0:len(f) - 1])


n = input()
p = len(n)
ls = []
s = ''
for i in n:
	if i.isdigit():
		ls.append(i)
ls.sort()
s = s + ls[0]
for j in range(1, len(ls)):
	s = s + '+'
	s = s + ls[j]
print(s)


l = list(input().strip().split('+'))
p = sorted(l)
print('+'.join(p))


S = input('')
S_list = list(S)
S_list.sort()
start = int(len(S_list)) // 2
out_string = ''
for i in range(start, len(S_list)):
	out_string += S_list[i]
	if i != len(S_list) - 1:
		out_string += '+'
print(out_string)


s = list(input())
for i in range(int(len(s) / 2)):
	s.remove('+')
s = sorted(s)
l = []
for i in range(len(s) - 1):
	l.append(s[i])
	l.append('+')
l.append(s[len(s) - 1])
print(''.join(l))


t = str(input()).split('+')
s = []
t.sort()
for i in t:
	s += i
	s += '+'
for i in s[:-1]:
	print(i, end='')


s = list(map(int, input().split('+')))
a = []
for i in range(3):
	for j in range(len(s)):
		if s[j] == i + 1:
			a.append(s[j])
print('+'.join((str(i) for i in a)))


string = str(input())
n1 = n2 = n3 = 0
for i in range(0, len(string), 2):
	if string[i] == '1':
		n1 += 1
	elif string[i] == '2':
		n2 += 1
	else:
		n3 += 1
string = '1+' * n1 + '2+' * n2 + '3+' * n3
print(string[:-1])


shebang = input().split('+')
for i in range(len(shebang)):
	shebang[i] = int(shebang[i])
shebang.sort()
for i in range(len(shebang)):
	shebang[i] = str(shebang[i])
print('+'.join(shebang))


a = input()
l = []
for i in a:
	if i != '+':
		a = int(i)
		l.append(a)
l.sort()
l1 = [str(i) for i in l]
print('+'.join(l1))


n = input()
d = n.replace('+', '')
print('+'.join(sorted(d)))


s = list(input())
num = []
end = ''
for item in s:
	if item != '+':
		num.append(item)
num = [int(x) for x in num]
num.sort()
for n in num:
	end += str(n) + '+'
end = end[:-1]
print(end)


inp = input()
summands = inp.split('+')
summands.sort()
print('+'.join(summands))


l = [int(x) for x in input().split('+')]
l.sort()
ans = [str(x) for x in l]
y = str.join('+', ans)
print(y)


ar = [int(x) for x in input().split('+')]
ar = sorted(ar)
for i in ar[:len(ar) - 1]:
	print(i, end='+')
print(str(ar[-1]))


w = input().split('+')

def Bubble(arr, n):
	for i in range(n - 1):
		for j in range(n - i - 1):
			if int(arr[j]) > int(arr[j + 1]):
				temp = arr[j]
				arr[j] = arr[j + 1]
				arr[j + 1] = temp
Bubble(w, len(w))
s = ''
for t in range(len(w)):
	s += w[t]
	if t == len(w) - 1:
		continue
	s += '+'
print(s)


s = input()
arr = list(s)
c1 = []
c2 = []
c3 = []
for i in range(0, len(arr)):
	if arr[i] == '1':
		c1.append(arr[i])
	elif arr[i] == '2':
		c2.append(arr[i])
	elif arr[i] == '3':
		c3.append(arr[i])
res = ''
for i in c1:
	res += str(i) + '+'
for i in c2:
	res += str(i) + '+'
for i in c3:
	res += str(i) + '+'
print(res[:-1])


txt = [int(i) for i in input().split('+')]
txt.sort()
print('+'.join([str(i) for i in txt]))


strng = input()
lst = []
for i in range(len(strng)):
	if i % 2 == 0:
		lst.append(int(strng[i]))
lst.sort()
lst = [str(num) for num in lst]
res = '+'.join(lst)
print(res)


a = sorted(map(int, input().split('+')))
b = '+'.join(map(str, a))
print(b)


input_list = [int(x) for x in input().split('+')]
input_list.sort()
for (index, num) in enumerate(input_list):
	print(num, end='')
	if index != len(input_list) - 1:
		print('+', end='')


s = input()
arr = []
for i in range(len(s)):
	if s[i] == '+':
		pass
	else:
		arr.append(s[i])
arr.sort()
print('+'.join(arr))


sum = input()
sum1 = sum[0::2]
arr = []
sarr = []
string = ''
for i in sum1:
	arr.append(int(i))
arr.sort()
n = len(arr)
for i in range(n):
	sarr.append(arr[i])
	if i < n - 1:
		sarr.append('+')
n = len(sarr)
for i in range(n):
	string = string + str(sarr[i])
print(string)


s = input()
one = s.count('1')
two = s.count('2')
three = s.count('3')
a1 = '1+' * one
a2 = '2+' * two
a3 = '3+' * three
l = len(s)
ans = a1 + a2 + a3
print(ans[:l])


n = input()
n = sorted(list(map(int, n.split('+'))))
result = ''
for i in range(len(n) - 1):
	result = result + str(n[i]) + '+'
print(result + str(n[-1]))


s = input()
s = list(s)
l = s.count('1')
l2 = s.count('2')
l3 = s.count('3')
rez = l * '1' + l2 * '2' + l3 * '3'
print('+'.join(rez))


input_numbers = input().split('+')
input_numbers.sort()
print('+'.join(input_numbers))


lista = input().split('+')
a = 0
b = 0
c = 0
for i in range(len(lista)):
	if lista[i] == '1':
		a = a + 1
	elif lista[i] == '2':
		b = b + 1
	else:
		c = c + 1
stri = a * '1+' + b * '2+' + c * '3+'
print(stri[0:-1])


def solve():
	s = input()
	t = sorted(s)
	t = ''.join(t)
	op = ''
	for i in t:
		if i != '+':
			op += i + '+'
	print(op[:-1])
solve()


import sys

def solution():
	data = sys.stdin.readline()[:-1].split('+')
	data.sort()
	print('+'.join(data))
solution()


s = input()
d = [*s]
g = ''
d.sort()
for i in range(len(d)):
	if d[i] == '+':
		i += 1
	else:
		g = g + d[i] + '+'
print(g[0:-1])


a = input('')
count = 0
num = []
for i in range(len(a)):
	if i % 2 == 0:
		num.append(a[i])
num.sort()
j = 0
ans = ''
for i in range(len(a)):
	if i % 2 == 0:
		ans += num[j]
		j += 1
	else:
		ans += '+'
print(ans)


n = list(input())
m = list()
k = 0
while k < len(n):
	m.append(int(n[k]))
	k += 2
m.sort()
m = '+'.join(list(map(str, m)))
print(m)


s = str(input())
x = int(len(s) / 2)
t = ''
for i in range(0, len(s), 2):
	t = t + s[i]
t = ''.join(sorted(t))
y = ''
for i in range(0, len(s) - x):
	y = y + t[i] + '+'
print(y[0:-1])


n = input()
n = n.strip().split('+')
for i in range(0, len(n)):
	n[i] = int(n[i])
c = 0
for i in sorted(n):
	c += 1
	if c != len(n):
		print(i, end='+')
	else:
		print(i)


n = input()
r = sorted(n)
l = []
for i in r:
	if i != '+':
		l.append(i)
res = '+'.join(l)
print(str(res))


x = input()
x = x.replace('+', '')
t = [str(i) for i in x]
t.sort()
o = ''
q = 0
while q < len(t):
	o += t[q]
	q += 1
q = 1
while q < len(o):
	o = o[:q] + '+' + o[q:len(o)]
	q += 2
print(o)


cadena = input().split('+')
cadena.sort()
cadena2 = '+'.join(cadena)
print(cadena2)


def function(s):
	l = list(s)
	l1 = []
	for i in l:
		if i != '+':
			l1.append(int(i))
	s1 = ''
	l1.sort()
	for j in l1:
		s1 += str(j)
		s1 += '+'
	print(s1[0:-1])
s = input()
function(s)


inp = input().split('+')
inp = [eval(i) for i in inp]
inp = sorted(inp)
for i in inp[:-1]:
	print(i, end='+')
print(inp[-1])


s1 = input()
s1 = list(s1)
ss = ''
s = []
for i in range(len(s1)):
	if s1[i] != '+':
		s.append(s1[i])
s.sort()
for j in range(len(s) - 1):
	ss = ss + s[j] + '+'
ss = ss + s[len(s) - 1]
print(ss)


ar = input().split('+')
ar[:] = [int(i) for i in ar]
s = ''
ar.sort()
for i in ar:
	s += str(i) + '+'
print(s[:-1])


n = list(map(int, input().split('+')))
n.sort()
x = []
for i in range(len(n)):
	x.append(str(n[i]))
print('+'.join(x))


s = input().split('+')
s.sort()
sum = ''
for i in s:
	sum += '+' + i
print(sum[1:])


s = input()
lst = []
for i in s[::2]:
	lst.append(i)
final = sorted(lst)
print('+'.join(final))


line = input()
sum = line.split('+')
sum.sort()
for i in range(len(sum)):
	if i < len(sum) - 1:
		print(sum[i], end='+')
	else:
		print(sum[i])


i = input()
nums = sorted(i.split('+'))
for x in range(0, len(nums)):
	if x != 0:
		print('+', end='')
	print(nums[x], end='')


newlist = []
mylist = []
x = input()
for num in range(len(x)):
	if num % 2 == 0:
		mylist.append(x[num])
mylist.sort()
for item in mylist:
	item = '+' + str(item)
	newlist.append(item)
newlist1 = list(''.join(newlist))
del newlist1[0]
newlist1
print(''.join(newlist1))


s = input()
r = []
for i in range(len(s)):
	if s[i] != '+':
		r.append(s[i])
r.sort()
k = len(r)
for i in range(k - 1):
	print(r[i], end='')
	print('+', end='')
print(r[-1])


s = str(input())
l = []
for i in s:
	if i != '+':
		l.append(int(i))
l.sort()
x = []
for j in l:
	x.append(j)
	x.append('+')
x.pop(len(x) - 1)
if len(x) <= 1:
	print(x[0])
else:
	for k in x:
		print(k, end='')


s = input()
if len(s) == 1:
	print(s)
else:
	arr = list(s.split('+'))
	n = len(arr)
	for i in range(n - 1):
		for j in range(i + 1, n):
			if arr[i] > arr[j]:
				temp = arr[i]
				arr[i] = arr[j]
				arr[j] = temp
	s = '+'.join(arr)
	print(s)


s = input()
l = list(s.replace('+', ''))
ls = [int(x) for x in l]
ls.sort()
l = [str(x) for x in ls]
print('+'.join(l))


inp = list(map(int, input().rstrip().split('+')))
inp.sort()
s = ''
for i in inp:
	s += str(i)
	s += '+'
print(s[:-1])


s1 = input()
s2 = [int(s1[x]) for x in range(0, len(s1), 2)]
s2.sort()
s = ''
for x in s2:
	s += str(x)
	s += '+'
print(s[0:len(s) - 1])


arr = list(input().split('+'))
arr.sort()
narr = '+'.join(arr)
print(narr)


a = input()
h = j = k = 0
for i in range(0, len(a), 2):
	if a[i] == '1':
		h += 1
	elif a[i] == '2':
		j += 1
	else:
		k += 1
a = '1+' * h + '2+' * j + '3+' * k
print(a[:-1])


s = input()
k1 = 0
k2 = 0
k3 = 0
for i in range(len(s)):
	if s[i] == '1':
		k1 += 1
	if s[i] == '2':
		k2 += 1
	if s[i] == '3':
		k3 += 1
s1 = ''
for i in range(k1):
	s1 += '1+'
for i in range(k2):
	s1 += '2+'
for i in range(k3):
	s1 += '3+'
print(s1[0:len(s1) - 1:1])


x = input().replace('+', ' ').split()
x.sort()
print('+'.join(x))


s = input()
x = []
sort = []
result = ''
if len(s) == 1:
	print(s)
else:
	for i in s:
		if i.isdigit():
			x.append(i)
			sort = sorted(x)
	for j in sort:
		result = result + '+' + j
	print(result[1:])


i = input()
l = []
for j in i:
	if j != '+':
		l += [int(j)]
l = sorted(l)
for j in l[:len(l) - 1]:
	print(j, end='+')
print(l[-1], end=' ')


txt = str(input())
txt = txt + '+'
st = ''
li = []
for i in range(len(txt)):
	if txt[i] != '+':
		st = '' + txt[i]
		li.append(st)
li.sort()
s = ''
s = s.join(li)
x = []
for i in s:
	if i not in x:
		x.append(i)
		s = s.replace(i, '+' + i)
	else:
		continue
print(s[1:])


s = input()
s = s.replace('+', '')
s = list(s)
s.sort()
r = ''
for i in s:
	r += i + '+'
print(r.strip('+'))


import math
line = input()
arr = [int(x) for x in line.split('+')]
arr.sort()
for i in range(len(arr)):
	if i > 0:
		print('+', end='')
	print(arr[i], end='')
print()


L = list(map(int, input().split('+')))
L = sorted(L)
L = list(map(str, L))
print('+'.join(L))


s = input()
ln = len(s)
if ln == 1:
	print(s)
else:
	l = s.split('+')
	l.sort()
	print('+'.join(l))


arr = input().split('+')
arr.sort()
print('+'.join(arr))


b = list(map(int, input().split('+')))
c = sorted(b)
d = ''
for e in c:
	d = d + '+' + str(e)
d = d[1:]
print(d)


n = input()
a = []
c = 0
for i in range(0, len(n), 2):
	a.append(int(n[i]))
	c += 1
a.sort()
d = str(a[0])
for i in range(1, c):
	d += '+' + str(a[i])
print(d)


s = [n for n in input()]
z = []
for n in s:
	if ord('9') >= ord(n) >= ord('0'):
		z.append(int(n))
z.sort()
p = 0
for n in range(2 * len(z) - 1):
	if n % 2 == 0:
		print(z[p], end='')
		p += 1
	else:
		print('+', end='')


n = input()
c = c1 = c2 = 0
for i in range(0, len(n), 2):
	if n[i] == '1':
		c += 1
	if n[i] == '2':
		c1 += 1
	if n[i] == '3':
		c2 += 1
s = '1+' * c + '2+' * c1 + '3+' * c2
print(s[:-1])


def main():
	input_string = input().split('+')
	input_int = [int(i) for i in input_string]
	input_int.sort()
	output_string = [str(i) for i in input_int]
	print('+'.join(output_string))
main()


operation = list(map(int, input().rstrip().split('+')))
operation.sort()
for i in range(len(operation)):
	print(operation[i], end='')
	if i < len(operation) - 1:
		print('+', end='')


s = list(map(str, input().split('+')))
s.sort()
s_new = ''
for i in s:
	if len(s_new) < 1:
		s_new += i
	else:
		s_new = s_new + '+' + i
print(s_new)


a = input()
c = []
b = a.split('+')
for i in b:
	c.append(i)
c.sort()
u = ''
for j in range(len(c) - 1):
	u += str(c[j]) + '+'
u += c[len(c) - 1]
print(u)


def ass(a):
	if '+' not in a:
		return a
	return '+'.join(list(map(str, sorted(a.split('+')))))
print(ass(input()))


val = input()
counters = [0, 0, 0, 0]
for c in val:
	if c == '1':
		counters[1] += 1
	elif c == '2':
		counters[2] += 1
	elif c == '3':
		counters[3] += 1
result = ''
for (idx, counter) in enumerate(counters):
	for _ in range(counter):
		result += str(idx) + '+'
		counters[idx] -= 1
print(result[:-1])


import random

def quick_sort_divide(a):
	if len(a) <= 1:
		return a
	else:
		mark = random.choice(a)
		left_part = [i for i in a if i < mark]
		middle_part = [i for i in a if i == mark]
		right_part = [i for i in a if i > mark]
		return quick_sort_divide(left_part) + middle_part + quick_sort_divide(right_part)

def quick_sort(a, start, end):
	if start >= end:
		return a
	else:
		mark = random.choice(a)
		i = start
		j = end
		while i <= j:
			while a[i] < mark:
				i += 1
			while a[j] > mark:
				j -= 1
			if i <= j:
				(a[i], a[j]) = (a[j], a[i])
				i += 1
				j -= 1
		quick_sort(a, start, j)
		quick_sort(a, i, end)
		return a
L = [int(i) for i in input().split('+')]
L1 = quick_sort(L, 0, len(L) - 1)
print('+'.join([str(i) for i in L1]))


import math
st = ''

def func(l1):
	n = len(l1)
	s = ''
	l = [0, 0, 0]
	for i in l1:
		l[i - 1] += 1
	for i in range(3):
		s += (str(i + 1) + '+') * l[i]
	return s[:-1]
for _ in range(1):
	l1 = list(map(int, input().split(sep='+')))
	st += str(func(l1)) + '\n'
print(st)


old = list(input().split('+'))
print('+'.join(sorted(old)))


a = input()
k = a.split('+')
for i in range(0, len(k)):
	for j in range(0, len(k) - 1):
		if k[j] > k[j + 1]:
			(k[j], k[j + 1]) = (k[j + 1], k[j])
l = ''
l = k[0]
for i in range(1, len(k)):
	l = l + '+' + k[i]
print(l)


import sys

def input():
	return sys.stdin.readline().strip()

def iinput():
	return int(input())

def rinput():
	return map(int, sys.stdin.readline().strip().split())

def get_list():
	return list(map(int, sys.stdin.readline().strip().split()))
n = input()
n = list(n)
s = len(n)
for i in range(0, s, 2):
	for j in range(i + 2, s, 2):
		if n[i] > n[j]:
			(n[i], n[j]) = (n[j], n[i])
print(''.join(n))


a = str(input()).split('+')
one = a.count('1')
two = a.count('2')
three = a.count('3')
answer = ''
while one > 0 or two > 0 or three > 0:
	if one > 0:
		one -= 1
		answer += '1+'
	elif two > 0:
		two -= 1
		answer += '2+'
	elif three > 0:
		three -= 1
		answer += '3+'
print(answer[0:len(answer) - 1])


a = str(input())
c = []
for j in range(0, len(a), 2):
	c.append(a[j])
c.sort()
for j in range(len(c) - 1):
	print(c[j], end='')
	print('+', end='')
print(c[len(c) - 1])


s = input()
l = []
s1 = '+'
if len(s) >= 1 and len(s) <= 100:
	for i in s:
		if i.isalnum():
			l.append(i)
	l.sort()
	s1 = s1.join(l)
	print(s1)


s = input()
a = []
i = 0
while i < len(s):
	a.append(s[i])
	i += 2
n = len(a)
for i in range(n - 1):
	for j in range(i + 1, n):
		if a[i] > a[j]:
			tmp = a[i]
			a[i] = a[j]
			a[j] = tmp
for i in range(n - 1):
	print(a[i], end='')
	print('+', end='')
print(a[n - 1])


def main():
	expression = input()
	length = len(expression)
	num1 = num2 = num3 = 0
	while length > 0:
		if expression[length - 1] == '1':
			num1 += 1
		elif expression[length - 1] == '2':
			num2 += 1
		else:
			num3 += 1
		length -= 2
	result = num1 * '1+' + num2 * '2+' + num3 * '3+'
	print(result[:-1])
main()


a = str(input())
A = list(a)
for i in A:
	if i == '+':
		A.remove(i)
A.sort()
ans = []
while len(A) > 0:
	ans.append(A[0])
	ans.append('+')
	A.pop(0)
if len(a) == 1:
	print(a)
else:
	ans.pop(-1)
	print(''.join(ans))


s = input()
p = s
s = s.split('+')
n = len(s) - 1
count = 0
while True:
	count = 0
	for i in range(0, n):
		if int(s[i]) > int(s[i + 1]):
			x = s[i]
			s[i] = s[i + 1]
			s[i + 1] = x
		else:
			count += 1
	if count == n:
		break
	else:
		pass
a = [1, 2, 3, 4, 6, 7]
print(*s, sep='+')


a = input()
a = a.split('+')
temp = ''
for i in range(len(a)):
	for j in range(len(a)):
		if a[i] <= a[j]:
			temp = a[i]
			a[i] = a[j]
			a[j] = temp
temp = ''
for i in range(len(a)):
	if i > 0:
		temp += '+'
	temp += a[i]
print(temp)


a = input()
l = a.split('+')
l.sort()
a = ''
for i in l:
	a = a + '+' + i
print(a.strip('+'))


n = list(input())
n = [x for x in n if x != '+']
n.sort()
for i in range(len(n) - 1):
	n[i] = n[i] + '+'
print(''.join(n))


n = input()
li = []
str1 = '+'
str2 = ''
for i in n:
	if i != '+':
		li.append(i)
li.sort()
print('+'.join(li))


s = input()
lst = s.split('+')
n = len(lst)
lst.sort()
print('+'.join((str(x) for x in lst)))


lis = []
enter = input()
length = len(enter)
for i in range(length):
	if i % 2 == 0:
		lis.append(enter[i])
lis.sort()
n = len(lis)
for i in range(n):
	if i == n - 1:
		print(lis[i])
		break
	print(lis[i], end='+')


num = [i for i in input().split('+')]
num.sort()
for i in range(len(num)):
	if i == 0:
		print(num[i], end='')
	else:
		print('+', num[i], sep='', end='')
print('')


a = list(str(input()).replace('+', ''))
a.sort()
x = len(a)
y = x - 1
k = 1
for i in range(y):
	a.insert(k, '+')
	k = k + 2
a = ''.join(a)
print(a)


primary = list(input().split('+'))
primary.sort()
primary = '+'.join(primary)
print(primary)


def makeIntegers(A):
	for elem in A:
		elem = int(elem)

def main():
	first_string = input()
	numbers = list(first_string.split('+'))
	makeIntegers(numbers)
	sortedNumbers = sorted(numbers)
	if len(sortedNumbers) == 1:
		print(sortedNumbers[0])
		return
	else:
		answer_string = ''
		for i in range(0, len(sortedNumbers) - 1):
			answer_string = answer_string + str(sortedNumbers[i]) + '+'
		answer_string = answer_string + str(sortedNumbers[len(sortedNumbers) - 1])
	print(answer_string)
main()


priklad = input()
cisla = priklad.split('+')
cisla.sort()
print('+'.join(cisla))


s = input()
a = str()
for i in range(0, len(s)):
	if s[i] != '+':
		a = a + s[i]
print('+'.join(sorted(a)))


string = input()
l = []
for i in range(0, len(string), 2):
	l.append(string[i])
l = sorted(l)
x = '+'.join(l)
print(x)


st = list(input().split('+'))
st.sort()
for i in range(len(st)):
	if i != len(st) - 1:
		print(str(st[i]) + '+', end='')
	else:
		print(str(st[i]))


s = list(map(str, input().split('+')))
s.sort()
temp = ''
for i in range(len(s)):
	if i != len(s) - 1:
		temp = temp + s[i] + '+'
	else:
		temp = temp + s[i]
print(temp)


def math(stroka):
	operable_list = []
	for i in stroka:
		if i != '+':
			operable_list.append(i)
		else:
			continue
	operable_list.sort()
	res = ''
	for i in range(0, len(operable_list)):
		if i < len(operable_list) - 1:
			res += str(operable_list[i]) + '+'
		else:
			res += str(operable_list[i])
	print(res)
call = str(input())
math(call)


a = input()
ls = ['+']
b = []
c = []
for i in range(len(a)):
	if a[i] not in ls:
		b.append(a[i])
		b.sort()
for i in range(len(b) - 1):
	print(b[i], '+', end='', sep='')
print(b[-1])


op = input()
op = list(op)
op.sort()
print('+'.join(op[len(op) // 2:]))


s = input()
s = list(s)
num_of_1 = 0
num_of_2 = 0
num_of_3 = 0
num = 0
new_s = ''
count = 0
for i in range(len(s)):
	if s[i] == '1':
		num_of_1 += 1
		num += 1
	if s[i] == '2':
		num_of_2 += 1
		num += 1
	if s[i] == '3':
		num_of_3 += 1
		num += 1
for i in range(num_of_1):
	count += 1
	if count == num:
		new_s += '1'
	else:
		new_s += '1'
		new_s += '+'
for i in range(num_of_2):
	count += 1
	if count == num:
		new_s += '2'
	else:
		new_s += '2'
		new_s += '+'
for i in range(num_of_3):
	count += 1
	if count == num:
		new_s += '3'
	else:
		new_s += '3'
		new_s += '+'
print(new_s)


s = input()
l = s.split('+')
l.sort()
i = 0
while i < len(l):
	print(l[i], end='')
	if i != len(l) - 1:
		print('+', end='')
	i = i + 1


number = [x for x in map(int, input().split('+'))]
res = ''
number.sort()
for x in number:
	res += f'{x}+'
res = res[:-1]
print(res)


p = input()
l2 = []
for i in range(0, len(p), 2):
	l2.append(p[i])
l2.sort()
l3 = []
for i in range(len(l2)):
	l3.append(l2[i])
	if i == len(l2):
		break
	l3.append('+')
a = l3.pop()
print(*l3, sep='')


s = input()
n1 = 0
n2 = 0
n3 = 0
for i in s:
	if i == '1':
		n1 += 1
	if i == '2':
		n2 += 1
	if i == '3':
		n3 += 1
r = '1+' * n1 + '2+' * n2 + '3+' * n3
print(r[:-1])


s = input()
q = s.split('+')
q.sort()
s = '+'.join(q)
print(s)


inputStringArray = input().split('+')
inputStringArray.sort()
print('+'.join(inputStringArray))


n = [i for i in input().strip().split('+')]
n.sort()
print('+'.join(n))


s = input()
l = s.split('+')
l.sort()
if len(s) > 1:
	result = ''
	for i in l:
		result += i + '+'
	print(result[:-1])
else:
	print(s)


s = input()
l = []
for i in range(len(s)):
	if s[i] == '+':
		continue
	else:
		l.append(int(s[i]))
l.sort()
s = ''
b = len(l)
for i in range(b):
	if i == b - 1:
		s = s + str(l[i])
	else:
		s = s + str(l[i]) + '+'
print(s)


number = input()
a = ''
for i in range(0, len(number), 2):
	a += number[i]
c = sorted(a)
output = ''
for j in range(len(c) - 1):
	output += c[j] + '+'
output += c[len(c) - 1]
print(output)


sum = input()
newsum = list(sum.replace('+', ''))
newsum.sort()
newstr = ''
for i in range(len(newsum)):
	if i == len(newsum) - 1:
		newstr = newstr + newsum[i]
	else:
		newstr = newstr + newsum[i] + '+'
print(newstr)


import sys

def sort_sum(s):
	summands = list(map(int, s.split('+')))
	summands.sort()
	first = True
	sort_s = ''
	for t in summands:
		if first:
			first = False
		else:
			sort_s = sort_s + '+'
		sort_s = sort_s + str(t)
	return sort_s

def main(args):
	lines = sys.stdin.readlines()
	print(sort_sum(lines[0].strip()))
main(sys.argv)


name = input()
a = []
count = 0
for i in name:
	if i == '1' or i == '2' or i == '3':
		a.append(i)
	else:
		count = count + 1
a.sort()
for i in a:
	print(i, end='')
	if count > 0:
		print('+', end='')
		count = count - 1


s = input()
l = []
lc = [1, 2, 3]
for i in s:
	if i != '+':
		l.append(i)
l.sort()
s = '+'.join(l)
print(s)


s = input()
print('+'.join([str(x) for x in sorted([int(num) for num in s if num in ['1', '2', '3']])]))


s = list(map(int, input().split('+')))
y = sorted(s)
for i in range(len(y)):
	if i != len(y) - 1:
		print(y[i], end='+')
	else:
		print(y[-1])


s = input()
l = []
l1 = []
l2 = []
for i in s:
	if i.isdigit():
		l.append(int(i))
	else:
		l1.append(i)
l.sort()
i = 0
while i < len(l) - 1:
	l2.append(str(l[i]))
	l2.append(l1[i])
	i += 1
l2.append(str(l[i]))
print(''.join(l2))


s = input()
x = []
s1 = ''
if len(s) == 1:
	print(s)
else:
	for i in s:
		if i == '1' or i == '2' or i == '3':
			x.append(int(i))
	for i in range(len(x)):
		for j in range(i + 1, len(x)):
			if x[i] > x[j]:
				(x[i], x[j]) = (x[j], x[i])
	for i in range(len(x)):
		if i != len(x) - 1:
			s1 += str(x[i]) + '+'
		else:
			s1 += str(x[i])
	print(s1)


while True:
	summand = input('')
	if ' ' not in summand:
		break
summand = summand.split('+')
summand.sort()
newsummand = '+'.join(summand)
print(newsummand)


string = input()
num = len(string)
mylist = string.split('+')
mylist.sort()
anslist = list()
for num in mylist:
	anslist.append(num)
	anslist.append('+')
anslist.pop()
for num in anslist:
	print(num, end='')


line = str(input())
temp_list = line.split('+')
temp_list.sort()
print('+'.join(temp_list))


string = input()
lst = string.split('+')
for c in lst:
	c = int(c)
lst.sort()
newStr = '+'.join(lst)
print(newStr)


s = str(input())
l = []
for i in s:
	if i.isdigit():
		l += i
print('+'.join(sorted(l)))


n = input().split('+')
if len(n) == 1:
	print(n[0])
else:
	n.sort()
	print('+'.join(n))


from sys import stdin, stdout
inp = input()
inp = list(inp)
plus = inp.count('+')
for i in range(plus):
	inp.remove('+')
inp.sort()
temp = []
for i in inp:
	temp.append(i)
	temp.append('+')
temp.pop()
print(''.join(temp))


s = str(input())
l1 = [i for i in s if i == '1' or i == '2' or i == '3']
print('+'.join(sorted(l1)))


l = list(input())
a = []
for i in range(len(l)):
	if not l[i] == '+':
		a.append(int(l[i]))
n = len(a)
for i in range(n):
	for j in range(i):
		if a[i] < a[j]:
			tmp = a[i]
			a[i] = a[j]
			a[j] = tmp
l = str(a[0])
for i in range(1, 2 * n - 1):
	if i % 2 == 0:
		l += str(a[i // 2])
	else:
		l += str('+')
print(l)


n = input()
count1 = 0
count2 = 0
count3 = 0
s = ''
for i in n:
	if i == '1':
		count1 += 1
	elif i == '2':
		count2 += 1
	elif i == '3':
		count3 += 1
for j in range(count1):
	s = s + '1+'
for jj in range(count2):
	s = s + '2+'
for jjj in range(count3):
	s = s + '3+'
print(s[:-1])


a = str(input())
b = [x for x in a.split('+')]
l = ''
c1 = 0
c2 = 0
c3 = 0
for i in b:
	if i == '1':
		c1 = c1 + 1
	elif i == '2':
		c2 = c2 + 1
	else:
		c3 = c3 + 1
for i in range(c1):
	l = l + '1+'
for i in range(c2):
	l = l + '2+'
for i in range(c3):
	l = l + '3+'
k = ''
for i in range(len(l) - 1):
	k = k + l[i]
print(k)


a = input()
l = []
j = []
for i in a:
	if i == '+':
		pass
	else:
		l.append(int(i))
l.sort()
for m in range(len(l)):
	j.append(str(l[m]))
	j.append('+')
j.pop()
print(''.join(j))


x = input()
s = x.split('+')
s.sort()
str = '+'
seq = s
print(str.join(seq))


i = sorted(input().split('+'))
o = ''
if len(i) > 1:
	for j in i:
		o += '+' + j
else:
	o += '+' + i[0]
print(o[1:])


string = input('')
splitString = string.split('+')
splitString.sort()
result = ''
for i in range(len(splitString)):
	result = result + splitString[i] + '+'
result = result[0:-1]
print(result)


x = input()
a = 0
y = []
s = list(x)
for i in range(len(s)):
	if s[i] != '+':
		y.append(s[i])
n = len(y)
for passnum in range(n - 1, 0, -1):
	for i in range(passnum):
		if y[i] > y[i + 1]:
			(y[i], y[i + 1]) = (y[i + 1], y[i])
for i in range(len(s)):
	if s[i] != '+':
		s[i] = y[a]
		a += 1
for i in range(len(s)):
	print(s[i], end='')


SumList = input().split('+')
SumList.sort()
print('+'.join(SumList))


def partition(arr, left, right):
	pivot = arr[right]
	idx = left - 1
	for i in range(left, right):
		if arr[i] <= pivot:
			idx = idx + 1
			(arr[i], arr[idx]) = (arr[idx], arr[i])
	(arr[right], arr[idx + 1]) = (arr[idx + 1], arr[right])
	return idx + 1

def quickSort(arr, left, right):
	if left < right:
		part = partition(arr, left, right)
		quickSort(arr, left, part - 1)
		quickSort(arr, part, right)
	return arr
arrNum = input().split('+')
if len(arrNum) == 1:
	print(int(arrNum[0]))
else:
	arrInt = []
	for i in arrNum:
		arrInt.append(int(i))
	res = quickSort(arrInt, 0, len(arrInt) - 1)
	ans = ''
	for i in range(0, len(res)):
		if len(ans) > 0:
			ans = ans + '+' + str(res[i])
		else:
			ans = ans + str(res[i])
	print(ans)


string = input()
haha = []
result = []
for i in range(0, len(string), 2):
	haha.append(int(string[i]))
haha.sort()
for i in haha:
	result.append(str(i))
final = '+'.join(result)
print(final)


s = input()
s = s + '+'
a = []
num = 0
for c in s:
	if c == '+':
		a.append(num)
		num = 0
	else:
		num = num * 10 + int(c)
a.sort()
for i in range(len(a)):
	print(a[i], end='+\n'[i == len(a) - 1])


def fun():
	values = input().split('+')
	values.sort()
	return '+'.join(values)
print(fun())


s = [int(i) for i in input().split('+')]
s.sort()
for i in range(len(s) - 1):
	print(s[i], '+', sep='', end='')
print(s[-1])


L = input()
L = L.split('+')
T = len(L)
L = sorted(L, key=lambda x: int(x))
Y = L[0]
for i in range(T):
	if i > 0:
		Y = Y + '+' + L[i]
print(Y)


s = input()
ll = list()
for i in range(len(s)):
	if i % 2 == 0:
		ll.append(s[i])
ll.sort()
print('+'.join(ll))


x = input()
y = x.split('+')
z = ''
y.sort()
for j in y:
	z = z + '+' + j
print(z[1:])


e = input()
num = list(map(int, e.split('+')))
num.sort()
out = '+'.join(map(str, num))
print(out)


s = input()
if len(s) == 1:
	print(s)
else:
	l = s.split('+')
	print('+'.join(sorted(l)))


s = input()
l = []
s1 = ''
for k in s:
	if k.isnumeric():
		l.append(k)
for i in range(len(l)):
	min_idx = i
	for j in range(i + 1, len(l)):
		if l[min_idx] > l[j]:
			min_idx = j
	(l[i], l[min_idx]) = (l[min_idx], l[i])
for m in range(len(l)):
	if m != len(l) - 1:
		s1 = s1 + str(l[m]) + '+'
	else:
		s1 = s1 + str(l[m])
print(s1)


str1 = [i for i in input().split('+')]
str1.sort()
print('+'.join(str1))


s = list(input().split('+'))
s = sorted(s)
sn = '+'.join(s)
print(sn)


ip = input()
ip = ip.split('+')
ip = sorted(ip)
ip = '+'.join(ip)
print(ip)


n = input()
oc = 0
tc = 0
thc = 0
for i in n:
	if i == '1':
		oc += 1
	elif i == '2':
		tc += 1
	elif i == '3':
		thc += 1
string = '1' * oc + '2' * tc + '3' * thc
print('+'.join(string))


s = input().split('+')
s.sort()
s1 = ''
for i in range(len(s) - 1):
	s1 += s[i] + '+'
s1 += s[-1]
print(s1)


x = input().split('+')
x.sort()
y = ''
for digit in x:
	y = y + digit + '+'
y = y[:-1]
print(y)


old = input()
new = []
for i in range(0, len(old), 2):
	new += old[i]
	new = sorted(new)
print('+'.join(new))


a = input()
b = []
for k in a:
	if k != '+':
		b.append(k)
b.sort()
k = len(a)
k1 = k - k // 2
for i in range(0, k1):
	if i == k1 - 1:
		print(b[i])
	else:
		print(b[i], end='')
		print('+', end='')


txt = [int(i) for i in input().split('+')]
print('+'.join([str(i) for i in sorted(txt)]))


s = input()
a = []
arr = []
for c in s:
	if c != '+':
		a.append(int(c))
l = list(sorted(a))
for num in l:
	arr.append(num)
	arr.append('+')
arr.pop()
joined_string = ''.join([str(v) for v in arr])
print(joined_string)


a = list(map(int, input().split('+')))
for i in range(0, len(a)):
	for j in range(0, len(a) - i - 1):
		if a[j] > a[j + 1]:
			(a[j], a[j + 1]) = (a[j + 1], a[j])
for k in range(len(a)):
	print(str(a[k]), end='')
	if k < len(a) - 1:
		print('+', end='')
	else:
		print('')


n = input()
o = ''
w = ''
t = ''
l = ''
for i in n:
	if i == '1':
		o += i
		o += '+'
	elif i == '2':
		w += i
		w += '+'
	elif i == '3':
		t += i
		t += '+'
x = o + w + t
print(x[:-1])


import re
s = input()
nums = re.findall('[0-9]', s)
nums = [int(num) for num in nums]
s1 = ''
for item in sorted(nums):
	s1 = s1 + str(item)
s1 = re.sub('', '+', s1)
print(re.sub('^\\+([\\w\\+]+)\\+$', '\\1', s1))


n = input()
res = filter(lambda i: i.isdigit(), n)
x = sorted(res)
for i in range(len(x) - 1):
	print(x[i], end='+')
print(x[len(x) - 1])


sums = input()
string = sums.split('+')
x = []
y = []
z = []
for i in range(len(string)):
	if int(string[i]) == 1:
		x.append('1')
	elif int(string[i]) == 2:
		y.append('2')
	else:
		z.append('3')
x.extend(y)
x.extend(z)
print('+'.join(x))


s = input()
s = list(map(int, s.split('+')))
l = len(s)
swapped = True
while swapped:
	swapped = False
	for i in range(l - 1):
		if s[i] > s[i + 1]:
			temp = s[i]
			s[i] = s[i + 1]
			s[i + 1] = temp
			swapped = True
for i in range(l - 1):
	print(str(s[i]) + '+', end='')
print(s[l - 1])


import heapq
s = list(input())
l = []
for i in s:
	if i.isdigit() == 1:
		l.append(int(i))
heapq.heapify(l)
n = len(l)
l = heapq.nsmallest(n, l)
j = 0
for i in range(len(s)):
	if s[i].isdigit() == 1:
		s[i] = str(l[j])
		j = j + 1
print(''.join(s))


s = input()
X = s.split('+')
Z = ''
for i in range(len(X)):
	if int(X[i]) == 1:
		Z += X[i] + '+'
for i in range(len(X)):
	if int(X[i]) == 2:
		Z += X[i] + '+'
for i in range(len(X)):
	if int(X[i]) == 3:
		Z += X[i] + '+'
print(Z[0:len(Z) - 1])


s = input().split('+')
s.sort()
p = ''
for i in s:
	p = p + '+' + i
print(p[1:])


s = input()
su = ''
su += '1' * s.count('1')
su += '2' * s.count('2')
su += '3' * s.count('3')
print('+'.join(su))


string = input()
ones = 0
twos = 0
threes = 0
result = ''
for letter in string:
	if letter != '+':
		if letter == '1':
			ones += 1
		elif letter == '2':
			twos += 1
		elif letter == '3':
			threes += 1
while ones > 0:
	if twos == 0 and threes == 0 and (ones == 1):
		result = result + '1'
	else:
		result = result + '1+'
	ones -= 1
while twos > 0:
	if threes == 0 and twos == 1:
		result = result + '2'
	else:
		result = result + '2+'
	twos -= 1
while threes > 0:
	if threes == 1:
		result = result + '3'
	else:
		result = result + '3+'
	threes -= 1
print(result)


a = list(input())
for _ in range(a.count('+')):
	a.remove('+')
a.sort(reverse=False)
print('+'.join(a))


s = input().split('+')
s.sort()
sep = '+'
result = sep.join(s)
print(result)


a = input()
b = a.count('1')
c = a.count('2')
d = a.count('3')
s = ''
for i in range(b):
	s = s + '+1'
for i in range(c):
	s = s + '+2'
for i in range(d):
	s = s + '+3'
print(s[1:])


cal = input()
newcal = ''
for x in range(3):
	newcal = newcal + cal.count(str(x + 1)) * (str(x + 1) + '+')
print(newcal[:-1])


array = [x for x in input().split('+')]
array.sort()
print('+'.join(array))


lst = [int(x) for x in input().split('+')]
for i in range(len(lst)):
	for j in range(len(lst) - 1 - i):
		if lst[j] > lst[j + 1]:
			(lst[j], lst[j + 1]) = (lst[j + 1], lst[j])
string = ''
for i in range(len(lst)):
	string = string + str(lst[i])
	if i != len(lst) - 1:
		string = string + '+'
print(string)


def Listando(N):
	Lis = []
	for i in range(0, len(N), 2):
		Lis.append(N[i])
	return Lis
Sum = input()
Sum = Listando(Sum)
Res = ''
if '1' in Sum:
	for k in Sum:
		if k == '1':
			Res += '1+'
if '2' in Sum:
	for k in Sum:
		if k == '2':
			Res += '2+'
if '3' in Sum:
	for k in Sum:
		if k == '3':
			Res += '3+'
print(Res[0:len(Res) - 1])


m = input()
k = list(m)
n = []
for t in k:
	if t != '+':
		n.append(t)
for i in range(len(n) - 1):
	for j in range(len(n) - 1):
		if n[j] > n[j + 1]:
			a = n[j]
			n[j] = n[j + 1]
			n[j + 1] = a
s = '+'
s = s.join(n)
print(s)


num = input()
tmp = []
for j in range(0, len(num), 2):
	tmp_add = int(num[j])
	tmp.append(tmp_add)
for pos in range(len(tmp)):
	for i in range(len(tmp)):
		if tmp[pos] < tmp[i]:
			t = int(tmp[pos])
			tmp[pos] = tmp[i]
			tmp[i] = t
ans = ''
for k in range(len(tmp)):
	if k != len(tmp) - 1:
		ans = ans + str(tmp[k]) + '+'
	else:
		ans = ans + str(tmp[k])
print(ans)


import re
s = input()
ls = sorted(re.findall('[0-9]', s))
print('+'.join(ls))


s = input()

def insertion_sort(l):
	for i in range(1, len(l)):
		j = i - 1
		key = l[i]
		while l[j] > key and j >= 0:
			l[j + 1] = l[j]
			j -= 1
		l[j + 1] = key
l = []
for i in range(len(s)):
	if s[i] != '+':
		l.append(int(s[i]))
insertion_sort(l)
string = ''
for i in range(len(l)):
	if i != len(l) - 1:
		string += str(l[i]) + '+'
	else:
		string += str(l[i])
print(string)


numbers = list(map(int, input().split('+')))
sorted_numbers = sorted(numbers)
final = list()
for i in sorted_numbers:
	x = str(i)
	final.append(x)
print('+'.join(final))


first = str(input())
word = ''
ans = ''
fList = first.split('+')
fList.sort()
for i in range(fList.__len__()):
	word = word + str(fList[i]) + '+'
for x in range(word.__len__() - 1):
	ans = ans + word[x]
print(ans)


s = input()
if len(s) == 1:
	print(s)
else:
	n = sorted(s.split('+'))
	print('+'.join(n))


def sort(arr):
	for i in range(0, len(arr), 2):
		minpos = i
		for j in range(i, len(arr), 2):
			if int(arr[j]) < int(arr[minpos]):
				minpos = j
		(arr[i], arr[minpos]) = (arr[minpos], arr[i])

def convert(arr):
	sorted = ''
	for a in arr:
		sorted += a
	return sorted
string = input()
arr = []
for x in string:
	arr.append(x)
sort(arr)
print(convert(arr))


s = input()
x = []
z = []
for i in s:
	if i != '+':
		x.append(int(i))
x.sort()
for i in range(len(x)):
	z.append(x[i])
	z.append('+')
z = z[:len(z) - 1]
print(''.join((str(i) for i in z)))


a = list(str(input()))
x = 0
y = 0
z = 0
for i in range(len(a)):
	if a[i] == '1':
		x = x + 1
	if a[i] == '2':
		y = y + 1
	if a[i] == '3':
		z = z + 1
for m in range(0, x):
	a[m * 2] = '1'
for n in range(x, y + x):
	a[n * 2] = '2'
for l in range(x + y, z + x + y):
	a[l * 2] = '3'
for o in range(len(a)):
	print(a[o], end='')


x = input()
z = []
for i in range(0, len(x), 2):
	y = int(x[i])
	z.append(y)
z.sort()
b = ''
for i in range(int((len(x) - 1) / 2)):
	b += str(z[i])
	b += '+'
b += str(z[len(z) - 1])
print(b)


og_sum = input()
og_sum = list(map(int, og_sum.replace('+', '')))
og_sum.sort()
new_sum = '+'.join((str(x) for x in og_sum))
print(new_sum)


x = input()
a = b = c = 0
for i in range(0, len(x), 2):
	if x[i] == '1':
		a += 1
	elif x[i] == '2':
		b += 1
	else:
		c += 1
ss = '1+' * a + '2+' * b + '3+' * c
print(ss[:-1])


n = input()
li = []
for i in range(0, len(n), 2):
	k = int(n[i])
	li.append(k)
li.sort()
s = ''
for i in li:
	s = s + '+' + str(i)
print(s[1:])


s = input()
a = s.split('+')
a.sort()
p = ''
p = p + str(a[0])
for i in range(1, len(a)):
	p = p + '+' + str(a[i])
print(p)


str = list(input().replace('+', ''))
str.sort()
print('+'.join(str))


x = str(input())
y = str()
count = 0
for i in range(len(x)):
	if x[i] != '+':
		y = y + x[i]
y = list(map(int, y))
y.sort()
for i in range(len(y)):
	if i == len(y) - 1:
		print(str(y[i]), end='')
		break
	else:
		print(str(y[i]) + '+', end='')


D = [int(d) for d in input().split('+')]
K = sorted(D)
z = '+'.join((str(h) for h in K))
print(z)


def find(s):
	a = []
	for i in range(len(s)):
		if s[i].isdigit():
			a.append(s[i])
	a = sorted(a)
	x = ''
	j = 0
	for i in range(len(s)):
		if s[i] == '+':
			x = x + '+'
		else:
			x = x + a[j]
			j = j + 1
	print(x)
s = input()
find(s)


s = input()
(n1, n2, n3) = (0, 0, 0)
for c in s[0::2]:
	if c == '1':
		n1 += 1
	elif c == '2':
		n2 += 1
	else:
		n3 += 1
res = '1+' * n1 + '2+' * n2 + '3+' * n3
print(res[:-1])


string = input().strip()
intStr = string.split('+')
intStr.sort()
newStr = ''
for i in intStr:
	newStr += i + '+'
print(newStr[:-1])


a = input()
c = ''
w = 0
t = 0
d = 0
for i in a:
	if i == '1':
		w = w + 1
	if i == '2':
		d = d + 1
	if i == '3':
		t = t + 1
for i in range(w):
	c = c + '1+'
for i in range(d):
	c = c + '2+'
for i in range(t):
	c = c + '3+'
print(c[:-1])


nums = input().split('+')
for i in range(0, len(nums)):
	nums[i] = int(nums[i])
nums.sort()
for i in range(0, len(nums)):
	nums[i] = str(nums[i])
print('+'.join(nums))


st = list(input())
st1 = []
for i in range(0, len(st), 2):
	st1.append(st[i])
st1.sort()
for i in range(1, len(st) - 1, 2):
	st1.insert(i, '+')
print(''.join(st1))


string = input()
exp = []
for i in range(len(string)):
	if string[i] in '123':
		exp.append(string[i])
exp.sort()
finalexp = []
for i in range(len(exp) - 1):
	finalexp.append(exp[i])
	finalexp.append('+')
finalexp.append(exp[len(exp) - 1])
print(''.join(finalexp))


in1 = input().split('+')
in1 = sorted(in1)
in1 = '+'.join(in1)
print(in1)


sum = [int(i) for i in input().split('+')]
sum.sort()
sum = '+'.join((str(i) for i in sum))
print(sum)


def ans(s):
	s = s.replace('+', ' ')
	s = sorted(s.split(' '))
	return '+'.join(s)
s = input()
print(ans(s))


userinput = input()
if len(userinput) == 1:
	print(userinput)
else:
	lll = list()
	for l in userinput:
		lll.append(l)
	onlynumberslist = list()
	for i in lll[::2]:
		onlynumberslist.append(i)
	count1 = 0
	count2 = 0
	count3 = 0
	for number in onlynumberslist:
		if number == '1':
			count1 += 1
		elif number == '2':
			count2 += 1
		elif number == '3':
			count3 += 1
	newlist = list()
	for i in range(count1):
		newlist.append('+1')
	for i in range(count2):
		newlist.append('+2')
	for i in range(count3):
		newlist.append('+3')
	ans = ''.join(newlist)
	print(ans[1:])


s = input()
a = s.count('1')
b = s.count('2')
c = s.count('3')
if c == 0:
	if b == 0:
		print('1+' * (a - 1) + '1')
	else:
		print('1+' * a + '2+' * (b - 1) + '2')
else:
	print('1+' * a + '2+' * b + '3+' * (c - 1) + '3')


t = input()
print(('1+' * t.count('1') + '2+' * t.count('2') + '3+' * t.count('3'))[:-1])


str = input()
container = []
container3 = []
flag = 0
for s in range(0, len(str), 2):
	container.append(str[s])
container2 = sorted(container)
for x in range(0, len(container)):
	container3.append(container2[x])
	if x == len(container) - 1:
		break
	container3.append('+')
for c in range(0, len(container3)):
	print(container3[c], end='')


x = input()
t = []
p = [s.strip('+') for s in x]
for i in range(0, len(x)):
	if p[i] != '':
		t.append(int(x[i]))
t.sort()
for i in range(0, len(t) * 2):
	if i != len(t):
		if i % 2 != 0:
			t.insert(i, '+')
str = ''.join((str(e) for e in t))
print(str)


st = input()
ar = [0, 0, 0]
for c in st:
	if not c == '+':
		ar[int(c) - 1] += 1
res = ''
for i in range(3):
	for j in range(ar[i]):
		res = res + str(i + 1) + '+'
li = list(res)
li[len(res) - 1] = ''
res = ''.join(li)
print(res)


def helpfulMaths(s):
	sp = s.split('+')
	st = ''
	for i in range(len(sp)):
		min = i
		for j in range(i + 1, len(sp)):
			if sp[min] > sp[j]:
				min = j
		(sp[i], sp[min]) = (sp[min], sp[i])
	for num in range(len(sp) - 1):
		st += str(sp[num]) + '+'
	st += sp[-1]
	print(st)

def main():
	helpfulMaths(input(''))
main()


def get_main_obj(data, l, r):
	return (r + l) // 2

def quick_sort(data, l, r):
	if l >= r:
		return
	mark = get_main_obj(data, l, r)
	ll = l
	rr = r
	while ll != mark or rr != mark:
		while data[ll] <= data[mark] and ll != mark:
			ll += 1
		while data[rr] > data[mark] and rr != mark:
			rr -= 1
		if ll == rr == mark:
			break
		(data[ll], data[rr]) = (data[rr], data[ll])
		if ll == mark:
			mark = rr
		elif rr == mark:
			mark = ll
	quick_sort(data, l, mark - 1)
	quick_sort(data, mark + 1, r)
data = input()
data = data.split('+')
quick_sort(data, 0, len(data) - 1)
print('+'.join(data))


x = input()
n = []
s = []
for i in range(0, len(x)):
	if i % 2 == 0:
		n = n + [int(x[i])]
	elif i % 2 != 0:
		s = s + [x[i]]
n.sort()
k = 0
for i in range(1, len(x), 2):
	n.insert(i, s[k])
	k = k + 1
print(''.join(map(str, n)))


string = str(input(''))
c1 = c2 = c3 = 0
for i in string:
	if i == '1':
		c1 += 1
	elif i == '2':
		c2 += 1
	elif i == '3':
		c3 += 1
s = ''
for i in range(c1):
	if i != c1 + c2 + c3 - 1:
		s += '1+'
	else:
		s += '1'
for i in range(c2):
	if i != c2 + c3 - 1:
		s += '2+'
	else:
		s += '2'
for i in range(c3):
	if i != c3 - 1:
		s += '3+'
	else:
		s += '3'
print(s)


n = input()
r = sorted(n)
f = len(r) // 2
j = 0
for k in range(f, len(r)):
	print(r[k], end='')
	if j != f:
		print(r[k - f], end='')
	j = j + 1


s = list(input().split('+'))
s.sort()
p = []
for i in s:
	p.append(i)
	p.append('+')
p.pop()
print(''.join(p))


a = input()
b = a.split('+')
b.sort()
m = 0
while m < len(b):
	if m == len(b) - 1:
		print(b[m])
	else:
		print(b[m], end='+')
	m = m + 1


s = input()
x = s.split('+')
y = sorted(x)
print('+'.join(y))


numbers = sorted(input().split('+'))
print('+'.join(numbers))


lin = input()
nums = lin.split('+')
nums.sort()
for i in range(len(nums) - 1):
	print(nums[i] + '+', end='')
print(nums[len(nums) - 1])


(lst, ans) = (input().split('+'), '')
for (index, item) in enumerate(sorted(lst)):
	ans += item if index == len(lst) - 1 else item + '+'
print(ans)


line = input().strip('\n\r\t')
l = line.split('+')
l.sort()
print('+'.join(l))


a = input()
b = []
for i in range(1, len(a) + 1):
	if i % 2 != 0:
		b.append(a[i - 1])
c = sorted(b)
d = []
for j in c:
	d.append(j)
	d.append('+')
f = ''
for k in range(len(d) - 1):
	f += d[k]
print(f)


s = input()
l = sorted(s.rsplit('+'))
s = '+'.join(l)
print(s)


n = input()
l = len(n)
ans = ans1 = ans2 = 0
for i in range(len(n)):
	if n[i] == '1':
		ans += 1
	elif n[i] == '2':
		ans1 += 1
	elif n[i] == '3':
		ans2 += 1
s = ''
for i in range(ans):
	s += '1+'
for i in range(ans1):
	s += '2+'
for i in range(ans2):
	s += '3+'
print(s[:l])


n = input()
nlist = n.split('+')
nlist.sort()
for i in range(0, len(nlist) - 1):
	print(nlist[i], end='+')
print(nlist[len(nlist) - 1])


string1 = str(input())
if len(string1) == 1:
	print(string1)
else:
	count1 = 0
	count2 = 0
	count3 = 0
	for ch in string1:
		if ch == '1':
			count1 += 1
		if ch == '2':
			count2 += 1
		if ch == '3':
			count3 += 1
	if count1 > 0:
		print('1' + '+1' * (count1 - 1) + '+2' * count2 + '+3' * count3)
	elif count2 > 0:
		print('2' + '+2' * (count2 - 1) + '+3' * count3)
	else:
		print('3' + '+3' * (count3 - 1))


import sys
import math as mt
t = 1
for __ in range(t):
	s = input()
	l = []
	for i in range(len(s)):
		if s[i] != '+':
			l.append(int(s[i]))
	l.sort()
	for i in range(len(l)):
		print(l[i], end='')
		if i != len(l) - 1:
			print('+', end='')


import sys
line = input()
arr = line.split('+')
arr.sort()
n = len(arr)
i = 0
while i < n:
	sys.stdout.write(arr[i])
	if i != n - 1:
		sys.stdout.write('+')
	else:
		break
	i = i + 1


arr = input().split('+')
arr.sort()
print('+'.join(map(str, arr)))


numbers = input()
output = []
symbol = ['+']
for char in numbers:
	if char not in symbol:
		output.append(char)
another = sorted(output)
print('+'.join(another))


cal = input().replace('+', '')
ls = list(map(int, list(cal)))
l = len(ls)
lt = sorted(ls)
j = 1
w = str(lt[0])
while j < l:
	w = w + '+' + str(lt[j])
	j = j + 1
print(w)


a = input()
list1 = []
list2 = []
list3 = []
s = '+'
for i in a:
	if i == '1':
		list1.append(i)
	elif i == '2':
		list2.append(i)
	elif i == '3':
		list3.append(i)
listaf = list1 + list2 + list3
print(s.join(listaf))


operations = input().split('+')
operations = [int(item) for item in operations]
operations.sort()
if len(operations) == 1:
	print(operations[0])
else:
	result = ''
	for x in operations:
		result += str(x) + '+'
	print(result[0:len(result) - 1])


s = input()
i = 0
l = []
while i < len(s):
	x = int(s[i])
	l.append(x)
	i = i + 2
s1 = ''
l.sort()
for i in range(len(l)):
	if i < len(l) - 1:
		s1 = s1 + str(l[i]) + '+'
	else:
		s1 = s1 + str(l[i])
print(s1)


s = input()
ar = []
for i in range(0, len(s)):
	if i % 2 == 0:
		ar.append(s[i])
for i in range(0, len(ar)):
	for j in range(0, len(ar)):
		if ar[j] == min(ar):
			if i == len(ar) - 1:
				print(ar[j], end='')
				ar[j] = max(ar)
				break
			else:
				print(ar[j], end='')
				print('+', end='')
				ar[j] = max(ar)
				break


s = input()
n = []
count = 0
for i in s:
	if i != '+':
		n.append(i)
n.sort()
for i in range(0, len(n)):
	if i < len(n) - 1:
		print(str(n[i]) + '+', end='')
	else:
		print(str(n[i]))


mystr = input().split('+')
mystr.sort()
newstr = ''
newstr += mystr[0]
for ch in mystr[1:]:
	newstr += '+'
	newstr += ch
print(newstr)


N = list(input())
lis = []
for i in range(len(N)):
	if N[i] != '+':
		lis.insert(i, N[i])
lis.sort()
print('+'.join((str(x) for x in lis)))


s = input()
a = 0
b = 0
c = 0
l = len(s)
q = []
j = 0
while j < l:
	q.append(int(s[j]))
	j = j + 2
for i in q:
	if i == 1:
		a = a + 1
	if i == 2:
		b = b + 1
	if i == 3:
		c = c + 1
w = a * '+1' + b * '+2' + c * '+3'
print(w[1:])


x = input()
length = len(x)
i = 0
x1 = ''
x2 = ''
x3 = ''
while length > 0:
	if x[i] == '1':
		x1 = x1 + '1'
	elif x[i] == '2':
		x2 = x2 + '2'
	elif x[i] == '3':
		x3 = x3 + '3'
	length -= 2
	i += 2
string = x1 + x2 + x3
length = len(string)
i = 0
final_string = ''
while length != 0:
	if i == len(string) - 1:
		final_string = final_string + string[i]
	else:
		final_string = final_string + string[i] + '+'
	length -= 1
	i += 1
print(final_string)


inp = input().split('+')
lis = []
for i in inp:
	lis.insert(0, int(i))
lis = sorted(lis)
x = len(lis)
for i in lis[0:x - 1]:
	print(str(i) + '+', end='')
print(lis[x - 1])


s = str(input())
temp = []
for i in s:
	if i != '+':
		temp.append(i)
temp = sorted(temp)
print(*temp, sep='+')


n = input().split('+')
n.sort()
out = n[0]
for i in n[1:]:
	out += '+' + i
print(out)


def main():
	s = [int(x) for x in input().split('+')]
	print('+'.join([str(x) for x in sorted(s)]))
main()


def func():
	s = input().split('+')
	s.sort()
	res = ''
	for num in s:
		res += num + '+'
	print(res[:-1])
func()


st1 = input()
lis = []
s = ''
for i in st1:
	if i == '+':
		continue
	else:
		lis.append(int(i))
lis.sort()
for i in range(len(lis)):
	if i != len(lis) - 1:
		s = s + str(lis[i]) + '+'
	else:
		s = s + str(lis[i])
print(s)


operation = input()
caractersArray = operation.split('+')
numberArray = []
for i in caractersArray:
	numberArray.append(int(i))
numberArray.sort()
result = ''
for (index, n) in enumerate(numberArray):
	if index > 0:
		result += '+' + str(n)
	else:
		result += str(n)
print(result)


a = input()
inp = list(a)
for (i, ii) in enumerate(inp):
	if inp[i] == '+':
		inp.remove(inp[i])
inp.sort()
for (i, ii) in enumerate(inp):
	if i % 2 != 0:
		inp.insert(i, '+')
print(''.join(inp))


def main():
	numbers = input().split('+')
	s = '+'.join(sorted(numbers))
	print(s)
main()


string = str(input())
string = string.split('+')
temp = 0
for i in range(len(string)):
	for j in range(i):
		if string[i] < string[j]:
			temp = string[i]
			string[i] = string[j]
			string[j] = temp
string1 = str(string[0])
for k in range(1, len(string)):
	string1 += '+' + str(string[k])
print(string1)


print('+'.join(sorted(input().upper().replace('+', ''), key=str)))


n = input()
l = n.split('+')
l.sort()
ans = '+'.join(l)
print(ans)


def main():
	n = input().split('+')
	for x in range(len(n)):
		for y in range(len(n) - x - 1):
			if int(n[y]) > int(n[y + 1]):
				(n[y], n[y + 1]) = (n[y + 1], n[y])
	print('+'.join(n))
main()


s = input().split('+')
n = ''
s.sort()
n = ''.join(s)
e = ''
for x in range(0, len(n)):
	e = e + n[x] + '+'
print(e[:len(e) - 1])


s: list = [x for x in input().split('+')]
s.sort()
print('+'.join(s))


st = input()
l = list(st.split('+'))
l1 = sorted(l)
s1 = ''
if len(st) == 1:
	print(st)
else:
	for i in l1:
		s1 = s1 + i + '+'
	print(s1[0:len(s1) - 1])


str_input = input().replace('+', '')
str_input = list(str_input.replace(' ', ''))
str_input.sort()
str_input = '+'.join(str_input)
print(str_input)


t = input()
numberList = []
result = ''
for char in t:
	if char != '+':
		numberList.append(char)
numberList.sort()
for number in numberList:
	result = result + number + '+'
print(result[:len(result) - 1])


x = input()
arr = []
for i in range(len(x)):
	if i % 2 == 0:
		arr.append(int(x[i]))
arr.sort()
for i in range(len(arr)):
	if i == len(arr) - 1:
		print(arr[i])
	else:
		print(str(arr[i]) + '+', end='')


s = input()
string = s.rsplit('+')
integer = [int(x) for x in string]
integer.sort()
interToString = [str(x) for x in integer]
length = len(interToString)
seting = ''
count = 0
for x in interToString:
	if count < length - 1:
		seting += x + '+'
	else:
		seting += x
	count = count + 1
print(seting)


s = [i for i in input().split('+')]
s.sort()
d = []
for i in s:
	d += '+'
	d += i
d.remove(d[0])
for i in d:
	print(i, end='')


import sys
s = [int(i) for i in sys.stdin.readline().split('+')]
s.sort()
new_sum = ''
for i in s:
	new_sum += str(i) + '+'
new_sum = new_sum[:-1]
print(new_sum)


data = sorted(input().split('+'))
for i in range(len(data) - 1):
	print(data[i], end='+')
print(data[-1])


s = input().strip().split('+')[:100]
s.sort()
s = '+'.join(map(str, s))
print(s)


w = input()
x = []
for num in w:
	if num != '+':
		x.append(int(num))
x.sort()
nw = ''
for n in x:
	nw += str(n) + '+'
print(nw[:len(nw) - 1])


l = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6, 'g': 7, 'h': 8, 'i': 9, 'j': 10, 'k': 11, 'l': 12, 'm': 13, 'n': 14, 'o': 15, 'p': 16, 'q': 17, 'r': 18, 's': 19, 't': 20, 'u': 21, 'v': 22, 'w': 23, 'x': 24, 'y': 25, 'z': 26}
t = list(map(int, input().split('+')))
t.sort()
t1 = []
for i in t:
	t1.append(str(i))
print('+'.join(t1))


def watermelon():
	w = int(input())
	if w % 2 == 0:
		print('YES')
	else:
		print('NO')

def way_too_long_words():
	n = int(input())
	words = [input() for x in range(n)]
	for word in words:
		if len(word) > 10:
			print(f'{word[0]}{len(word) - 2}{word[-1]}')
		else:
			print(word)

def team():
	n = int(input())
	v = [[int(x) for x in input().split()] for i in range(n)]
	o = 0
	for l in v:
		if l.count(1) >= 2:
			o += 1
	print(o)

def next_round():
	(n, k) = map(int, input().split())
	s = [int(x) for x in input().split()]
	o = 0
	i = s[k - 1]
	for j in s:
		if j >= i and j != 0:
			o += 1
	print(o)

def domino_piling():
	import math
	(m, n) = map(int, input().split())
	o = 0
	if m * n < 2:
		print(0)
		exit()
	if m % 2 == 0:
		o = m * n / 2
	elif n % 2 == 0:
		o = m * n / 2
	else:
		o = math.floor(m * n / 2)
	print(int(o))

def bitplusplus():
	n = int(input())
	s = [input() for i in range(n)]
	o = 0
	for j in s:
		if '++' in j:
			o += 1
		if '--' in j:
			o -= 1
	print(o)

def petya_and_strings():
	a = input().lower()
	b = input().lower()
	c = [a, b]
	c.sort()
	if a == b:
		print(0)
	elif b == c[0]:
		print(1)
	elif a == c[0]:
		print(-1)

def beautiful_matrix():
	for i in range(5):
		r = [int(x) for x in input().split()]
		if 1 in r:
			xmove = abs(r.index(1) - 2)
			ymove = abs(i - 2)
			o = xmove + ymove
	print(o)

def helpful_maths():
	s = input().split('+')
	s.sort()
	s = '+'.join(s)
	print(s)
helpful_maths()


string = input()
if len(string) == 1:
	print(string)
else:
	nums = []
	i = 0
	while i < len(string):
		nums.append(int(string[i]))
		i = i + 2
	nums.sort()
	for i in range(len(nums)):
		if i == len(nums) - 1:
			print(nums[i])
		else:
			print(nums[i], end='+')


s = input()
a = []
for i in range(0, len(s), 2):
	a += s[i]
for i in range(len(a) - 1, -1, -1):
	for j in range(i):
		if a[j] > a[j + 1]:
			(a[j], a[j + 1]) = (a[j + 1], a[j])
s1 = ''.join(map(str, a))
s2 = s1[0]
for i in range(1, len(s1)):
	s2 += '+' + s1[i]
print(s2)


n = input()
k = []
for i in range(len(n)):
	if i % 2 == 0:
		k.append(n[i])
k.sort()
for i in range(len(k)):
	if i == len(k) - 1:
		print(str(k[i]), end='')
	else:
		print(str(k[i]) + '+', end='')


l = [str(i) for i in input().split('+')]
for j in range(len(l)):
	for k in range(j + 1, len(l)):
		if l[j] > l[k]:
			t = l[j]
			l[j] = l[k]
			l[k] = t
s = ''
s = l[0]
for h in range(1, len(l)):
	s = s + '+' + l[h]
print(s)


x = input()
lst = []
for i in range(0, len(x), 2):
	lst.append(x[i])
lst.sort()
a = ''
for i in lst:
	a = a + str(i) + '+'
print(a[0:len(a) - 1])


add = list(input())
add_0 = tuple(add)
for i in range(1, int((len(add_0) + 1) / 2)):
	del add[i]
str_add = ''
add.sort()
for i in range(len(add) - 1):
	str_add += add[i] + '+'
str_add += add[len(add) - 1]
print(str_add)


s = input()
s = s.split('+')
s.sort()
t = ''
for n in s:
	t += n + '+'
print(t[:-1])


Q = list(input().split('+'))
Q = sorted(Q)
for i in range(0, len(Q)):
	if i != len(Q) - 1:
		print(Q[i] + '+', end='')
	else:
		print(Q[i])


print('+'.join(sorted((c for c in input() if c != '+'))))


counter = int(0)
divided = []
num = input()
divided = list(num)
b = ''
anse = ''
for i in range(len(num)):
	if divided[i] == '+':
		counter = counter + 1
for i in range(counter):
	divided.remove('+')
divided.sort()
for i in range(len(divided)):
	b = b + divided[i] + '+'
anse = b[:len(b) - 1]
print(anse)


a = input()
n = len(a)
b = []
for i in range(1, n + 1):
	if i % 2 == 1:
		b.append(a[i - 1])
b1 = sorted(b)
x = len(b1)
c = []
for i in range(x):
	c.append(b1[i])
	c.append('+')
print(''.join(c[:-1]))


from sys import stdin

def iinput():
	return int(stdin.readline())

def sinput():
	return input()

def minput():
	return map(int, stdin.readline().split())

def linput():
	return list(map(int, stdin.readline().split()))
s = input().split('+')
s.sort()
print('+'.join(s))


s = input()
s2 = s.split('+')
for i in range(len(s2)):
	s2[i] = int(s2[i])
s2.sort()
l = '+'.join((str(i) for i in s2))
print(l)


s = input()
ls = s.split('+')
ls.sort()
res = '+'.join(ls)
print(res)


a = list(input().split('+'))
a.sort()
out = ''
for x in a:
	out += x + '+'
print(out[:len(out) - 1])


a = input()
dic = {'1': 0, '2': 0, '3': 0}
b = []
for x in a[::2]:
	dic[x] += 1
res = '1+' * dic['1'] + '2+' * dic['2'] + '3+' * dic['3']
print(res[:-1])


c = []
m = []
a = []
u = 0
x = input()
if len(x) <= 100:
	for n in x:
		m.append(n)
	for z in range(len(m)):
		c.append(max(m))
		b = max(m)
		m.remove(b)
	d = len(c) // 2
	for s in range(len(c) - d):
		a.append(c[s])
		a.sort()
	for f in a:
		u = u + 1
		if u == len(a):
			print(f)
			break
		print(f, end='+')


a = input()
b = a.split('+')
c = sorted(b, key=int)
d = '+'.join(map(str, c))
print(d)


def HelpfulMaths(s):
	summand = s.split('+')
	sortedListOfDigits = sorted(summand)
	result = ''
	for sc in sortedListOfDigits:
		result += sc
		result += '+'
	print(result[:len(result) - 1])
inputText = input()
HelpfulMaths(inputText)


a = input()
b = list(a)
while '+' in b:
	b.remove('+')
b.sort()
c = '+'.join(b)
print(c)


x = input()
y = [0] * 3
for i in x:
	if i != '+':
		y[ord(i) - ord('1')] += 1
res = ''
for i in range(3):
	for j in range(y[i]):
		res += chr(i + 49)
		res += '+'
print(res[:len(res) - 1])


n = sorted(input())
k = ''
i = 0
while n[i] == '+':
	i = i + 1
for i in range(i, len(n)):
	k += n[i]
	k += '+'
print(k[:-1])


x = input()
l = x.split('+')
for i in range(len(l)):
	l[i] = int(l[i])
l.sort()
y = str(l[0])
for i in range(1, len(l)):
	y += '+' + str(l[i])
print(y)


s = input()
d = []
for i in s:
	if i != '+':
		d.append(int(i))
d.sort()
first = True
for i in d:
	if first:
		print(i, end='')
		first = False
	else:
		print('+', i, end='', sep='')


T = list(map(str, input().split('+')))
T.sort()
A = T[0]
for i in range(len(T)):
	if i != 0:
		A = A + '+' + T[i]
print(A)


soma = list(map(int, input().split('+')))
soma.sort()
res = ''
for i in range(len(soma)):
	if i == 0:
		res += '{}'.format(soma[i])
	else:
		res += '+{}'.format(soma[i])
print(res)


s = input('')
n = len(s)
i = 0
l = list()
while i < n:
	l.append(int(s[i]))
	i += 2
l = sorted(l)
k = 0
for i in l:
	i = str(i)
	if k == 0:
		print(i, end='')
	else:
		print('+' + i, end='')
	k += 1


original_list = list(input())
final_list = list()
d = sorted(original_list)
b = d[len(d) // 2:len(d) + 1]
final_list.insert(0, b[0])
k = 1
i = 1
while i <= len(original_list) - 1:
	final_list.insert(i, '+')
	final_list.insert(i + 1, b[k])
	i += 2
	k += 1
c = ''.join(final_list)
print(c)


list1 = [x for x in input().split('+')]
list1.sort()
print('+'.join(list1))


a = input()
theList = a.split('+')
theList.sort()
str = '+'
final = str.join(theList)
print(final)


expr = input()
expr = expr.replace('+', '')
expr = list(expr)
expr.sort()
expr = [item + '+' for item in expr]
n_expr = ''.join(expr)
n_expr = n_expr[:len(n_expr) - 1]
print(n_expr)


s = input()
o = '1+' * s.count('1')
o += '2+' * s.count('2')
o += '3+' * s.count('3')
o = o[:len(o) - 1]
print(o)


summands = list(input().split('+'))
summands.sort()
print('+'.join(summands))


import re
add = '+'
str1 = input()
str2 = re.sub('\\+', '', str1, 0)
list1 = list(str2)
list1.sort()
print(add.join(list1))


exc = input().split('+')
isSorted = False
while not isSorted:
	isSorted = True
	for i in range(len(exc) - 1):
		if int(exc[i]) > int(exc[i + 1]):
			isSorted = False
			tmp = exc[i]
			exc[i] = exc[i + 1]
			exc[i + 1] = tmp
print('+'.join(exc))


nums = sorted(map(lambda x: int(x), input().split('+')))
for val in nums[:-1]:
	print(val, end='+')
print(nums[-1])


p = input().split('+')
a = p.count('1')
b = p.count('2')
c = p.count('3')
if c != 0:
	for x in range(a):
		print('1+', end='')
	for x in range(b):
		print('2+', end='')
	for x in range(c - 1):
		print('3+', end='')
	print('3')
elif b != 0:
	for x in range(a):
		print('1+', end='')
	for x in range(b - 1):
		print('2+', end='')
	print('2')
else:
	for x in range(a - 1):
		print('1+', end='')
	print('1')


s = list(input().split('+'))
s.sort()
ans = ''
for e in s:
	ans += e + '+'
print(ans[:-1])


(one, two, three) = (0, 0, 0)
X = input()
for char in X:
	if char == '1':
		one += 1
	if char == '2':
		two += 1
	if char == '3':
		three += 1
Y = ''
for i in range(one):
	Y += '+1'
for i in range(two):
	Y += '+2'
for i in range(three):
	Y += '+3'
print(Y[1:])


s = input()
l = list(s[::2])
l.sort()
for x in range(len(l) - 1):
	print(l[x] + '+', end='')
print(l[len(l) - 1])


data = input()
lst = list()
for i in data.split('+'):
	lst.append(i)
lst.sort()
sum = ''
for j in lst:
	sum = sum + j + '+'
lst_sum = list()
for k in sum:
	lst_sum.append(k)
l = len(sum)
z = l - 1
a = 0
while a < z:
	print(lst_sum[a], end='')
	a = a + 1


out = ''
s = input()
if len(s) != 1:
	arr = s.split('+')
	arr.sort()
	for i in range(len(arr)):
		if i != len(arr) - 1:
			out += arr[i] + '+'
		else:
			out += arr[i]
	print(out)
else:
	print(s)


i = input()
if len(i) > 1:
	lst = i.split('+')
	lst.sort()
	a = ''
	for j in lst:
		a = a + j + '+'
	print(a[:-1])
else:
	print(i)


x = input()
p = list(map(int, x.split('+')))
s = ''
p.sort()
for i in p:
	s = s + '+' + str(i)
print(s.lstrip('+'))


i = list(input())
a = []
for j in range(0, len(i), 2):
	a.append(i[j])
c = sorted(a)
b = '+'
b = b.join(c)
print(b)


checktest = list(input().split('+'))
checktest.sort()
s = '+'
newans = s.join(checktest)
print(newans)


s = input()
n = s.split('+')
a = len(n)
n1 = 0
n2 = 0
n3 = 0
for x in range(a):
	if n[x] == '1':
		n1 = n1 + 1
	elif n[x] == '2':
		n2 = n2 + 1
	elif n[x] == '3':
		n3 = n3 + 1
output = '1+' * n1 + '2+' * n2 + '3+' * n3
a = len(output)
output = output[:a - 1]
if n1 + n2 + n3 >= 2:
	print(output)
else:
	print(s)


operation = input()
new_operation = operation.replace('+', ' ')
new_operation_list = list(new_operation.split())
sorted_operation = sorted(new_operation_list)
for i in range(len(sorted_operation)):
	if i != len(sorted_operation) - 1:
		sorted_operation[i] = sorted_operation[i] + '+'
	print(sorted_operation[i], end='')


s = str(input())
k = len(s)
s1 = str()
s = sorted(s.split('+'))
for i in s:
	if len(s1) < k - 1 and len(s1) != 0:
		s1 = s1 + '+'
	s1 = s1 + i
print(s1)


arr = [int(x) for x in input().split('+')]
arr.sort(key=None, reverse=False)
print('+'.join((str(x) for x in arr)))


u = input()
daftar = []
for i in u:
	if i == '+':
		continue
	else:
		daftar.append(int(i))
daftar.sort()
a = 0
while a < len(daftar):
	print(str(daftar[a]), end='')
	a += 1
	if a == len(daftar):
		break
	print('+', end='')


a = input().split('+')
a.sort()
c = '+'.join(a)
print(c)


s1 = input()
s2 = s1.split('+')
s2.sort()
s3 = '+'.join(s2)
print(s3)


ques = input()
ans = ''
a1 = []
for i in range(len(ques)):
	if i % 2 == 0:
		a1.append(ques[i])
a1.sort(reverse=False)
for i in range(len(a1)):
	ans = ans + a1[i]
	if i == len(a1) - 1:
		break
	else:
		ans = ans + '+'
print(ans)


s = input()
c = s.replace('+', ' ')
x = c.split()
x.sort()
print('+'.join(x))


s = input()
l = list()
le = len(s)
for i in range(le):
	if s[i] == '1':
		l.append(int(s[i]))
	if s[i] == '2':
		l.append(int(s[i]))
	if s[i] == '3':
		l.append(int(s[i]))
l.sort()
le1 = len(l)
s1 = str()
for j in range(le1):
	if j != le1 - 1:
		s1 += str(l[j]) + '+'
	else:
		s1 += str(l[j])
print(s1)


import functools
nums = sorted(list(map(int, input().strip().split('+'))))
print(str(functools.reduce(lambda a, b: str(a) + '+' + str(b), nums)))


sa = input().split('+')
ia = []
s = ''
for i in sa:
	ia.append(int(i))
ia.sort()
for i in ia:
	s += str(i) + '+'
print(s[:-1])


def convert(l):
	if len(l) > 1:
		l.sort()
		s = ''
		for i in range(len(l) - 1):
			s += str(l[i]) + '+'
		s += str(l[-1])
		return s
	else:
		return l[0]
l = list(map(int, input().split('+')))
print(convert(l))


a = input()
s = f = d = 0
for i in range(len(a)):
	if a[i] == '1':
		s = s + 1
	if a[i] == '2':
		d = d + 1
	if a[i] == '3':
		f = f + 1
math = '1+' * s + '2+' * d + '3+' * f
print(math[:-1])


s = input()
num = []
for i in s:
	if i.isdigit():
		num.append(i)
num.sort()
for i in range(len(num)):
	if i == len(num) - 1:
		print(str(num[i]), end='')
	else:
		print(str(num[i]) + '+', end='')


n = input()
lisT = n.rsplit('+')
lisT.sort()
print('+'.join(lisT))


s = input()
l = []
for i in range(0, len(s)):
	l.append(s[i])
for i in range(0, len(l)):
	for j in range(0, len(l) - 1, 2):
		if l[j] > l[j + 2]:
			(l[j], l[j + 2]) = (l[j + 2], l[j])
x = ''.join(l)
print(x)


s = input()
q = '123'
x = 0
z = sorted(s.split('+'))
s = list(s)
for i in range(0, len(s)):
	if s[i] in q:
		s[i] = z[x]
		x += 1
q = ''
for i in range(0, len(s)):
	q = q + s[i]
print(q)


summands = input()
if summands.find('+') > -1:
	summands = summands.split('+')
	summands.sort()
	print('+'.join(summands))
else:
	print(summands)


p = [int(i) for i in input().split('+')]
p.sort()
print(*p, sep='+')


import sys
s = input()
s = str.split(s, '+')
s.sort()
if len(s) > 1:
	for i in range(len(s) - 1):
		sys.stdout.write(s[i] + '+')
	sys.stdout.write(s[len(s) - 1])
elif len(s) == 1:
	sys.stdout.write(s[0])
else:
	sys.stdout.write()
sys.stdout.write('\n')


a = input().split('+')
a.sort()
print(a[0], end='')
if len(a) >= 1:
	for i in range(1, len(a)):
		print('+', a[i], sep='', end='')


def sumSeq(sumSol):
	numL = [int(x) for x in sumSol if x != '+']
	numL.sort()
	res = ''
	for i in numL:
		res += str(i) + '+'
	return res[:-1]
sumSol = input()
print(sumSeq(sumSol))


n = input().split('+')
n.sort()
m = str()
for i in n:
	m = m + str('+') + i
print(m[1:])


x = input()
x1 = x.split('+')
ans = sorted(x1)
final = '+'.join(ans)
print(final)


def sortSum(sum):
	sumList = sum.split('+')
	sortedSumList = sorted(sumList)
	return '+'.join(sortedSumList)
sum = input()
print(sortSum(sum))


n = input()
l = []
n1 = str()
for i in range(0, len(n)):
	if i % 2 == 0:
		l.append(n[i])
l.sort()
for i in range(0, len(l)):
	n1 = n1 + l[i] + '+'
n = n1[:-1]
print(n)


import sys
arr = input().split('+')
arr.sort()
for i in range(0, len(arr)):
	sys.stdout.write(arr[i])
	sys.stdout.flush()
	if i < len(arr) - 1:
		sys.stdout.write('+')
		sys.stdout.flush()


arr = [ch for ch in input()]
for i in range(0, len(arr), 2):
	for j in range(i + 2, len(arr), 2):
		if arr[i] > arr[j]:
			temp = arr[i]
			arr[i] = arr[j]
			arr[j] = temp
print(''.join(arr))


s = input()
s = sorted(s)
k = s.count('+')
s1 = s[k:]
print('+'.join(s1))


x = input()
z = []
for i in x:
	if i != '+':
		z.append(i)
z.sort()
s = ''
for k in z:
	s = s + str(k)
c = s.replace('', '+')
p = c.replace('+', '', 1)
print(p[:-1])


n = list(input().split('+'))
n.sort()
r = '+'
r = r.join(n)
print(r)


given = input()
taken = list()
if len(given) == 1:
	print(given)
else:
	for j in range(len(given)):
		if given[j] != '+':
			taken.append(int(given[j]))
	taken = sorted(taken)
	output = ''
	for j in range(len(taken)):
		output += str(taken[j])
		output += '+'
	print(output[:len(output) - 1])


str = input()
res = ''
num1 = 0
num2 = 0
num3 = 0
for num in str:
	if num == '+':
		continue
	elif num == '1':
		num1 += 1
	elif num == '2':
		num2 += 1
	elif num == '3':
		num3 += 1
while num1 > 0:
	res += '1'
	num1 -= 1
	if num1 > 0 or num2 > 0 or num3 > 0:
		res += '+'
while num2 > 0:
	res += '2'
	num2 -= 1
	if num2 > 0 or num3 > 0:
		res += '+'
while num3 > 0:
	res += '3'
	num3 -= 1
	if num3 > 0:
		res += '+'
print(res)


s = input()
e = []
for i in s:
	if i != '+':
		e.append(i)
e.sort()
x = []
for i in e:
	x.append(i)
	x.append('+')
x.pop()
z = ''
for i in x:
	z += i
print(z)


n = input()
l = len(n)
o = 0
t = 0
th = 0
if l == 1:
	print(n)
else:
	for i in range(l):
		b = n[i]
		if i % 2 == 0:
			if b == '1':
				o += 1
			elif b == '2':
				t += 1
			elif b == '3':
				th += 1
	a = ''
	for i in range(o - 1):
		a = a + '1+'
	if t == 0 and th == 0 and (o != 0):
		a = a + '1'
	elif o != 0:
		a = a + '1+'
	for i in range(t - 1):
		a = a + '2+'
	if th == 0 and t != 0:
		a = a + '2'
	elif t != 0:
		a = a + '2+'
	for i in range(th - 1):
		a = a + '3+'
	if th != 0:
		a = a + '3'
	print(a)


s = input()
arr = list()
for i in range(len(s)):
	if s[i] != '+':
		arr.append(s[i])
arr = sorted(arr)
for i in range(len(arr)):
	if i == 0:
		print(arr[i], end='')
	else:
		print('+', end='')
		print(arr[i], end='')


st = list(map(int, input().split('+')))
st = sorted(st)
print(*st, sep='+')


n = input()
m = list(n)
p = [m[x] for x in range(0, len(n), 2)]
p.sort()
if len(p) == 1:
	print(n)
else:
	print('+'.join(p))


summ = list(map(int, input().split('+')))
summ.sort()
newsumm = list(map(str, summ))
print('+'.join(newsumm))


string = input()
t = string.split('+')
t.sort()
for i in range(len(t) - 1):
	print(t[i], end='+')
print(t[len(t) - 1])


def solve():
	mas = [int(s) for s in input().split('+')]
	ans = '+'.join([str(s) for s in sorted(mas)])
	print(ans)
solve()


s = input().split('+')
s.sort()
print('+'.join(map(str, s)))


string = input()
str1 = []
str2 = ''
str1.extend([string[i] for i in range(0, len(string), 2)])
str1.sort()
for i in range(0, len(str1) - 1):
	str2 += str1[i] + '+'
print(str2 + str1[len(str1) - 1])


temp = input()
le = len(temp)
l = []
if le == 1:
	print(temp)
else:
	for j in range(0, le):
		if j % 2 == 0:
			l.append(temp[j])
l.sort()
for i in range(0, len(l)):
	print(l[i], end='')
	if i < len(l) - 1:
		print('+', end='')


sum = input()
sum = sum.rsplit('+')
newsum = list()
sum.sort(reverse=True)
for i in range(len(sum)):
	newsum.append(sum.pop())
	newsum.append('+')
newsum.pop()
print(''.join(newsum))


chars = input().split('+')
digits = []
for i in range(len(chars)):
	digits.append(int(chars[i]))
for i in range(len(digits)):
	min = i
	for j in range(i + 1, len(digits)):
		if digits[j] < digits[min]:
			min = j
	t = digits[i]
	digits[i] = digits[min]
	digits[min] = t
print(digits[0], end='')
for i in range(1, len(digits)):
	print('+', end='')
	print(digits[i], end='')


seq = input()
nseq = seq.split('+')
for i in range(len(nseq)):
	nseq.sort()
if len(seq) != 1:
	print('+'.join(nseq))
else:
	print(seq)


x = input()
arr = x.split('+')
arr.sort()
ch = '+'
ch = ch.join(arr)
print(ch)


nums = list(range(10))
s = list(map(int, input().strip(' ').split('+')))
s.sort()
if len(s) > 1:
	for i in range(len(s) - 1):
		print(str(s[i]) + '+', end='')
	print(s[len(s) - 1])
else:
	print(s[0])


a = list(map(int, input().split('+')))
a = sorted(a)
print(a[0], end='')
for i in range(1, len(a)):
	print('+', a[i], sep='', end='')


ques = input()
ans = ''
ar1 = []
ar2 = []
for i in range(len(ques)):
	if ques[i] != '+':
		ar1.append(int(ques[i]))
ar3 = list(ques.split('+'))
for i in range(len(ar3)):
	if ar3[i] == '1':
		ar2.append(str(ar1[i]))
for i in range(len(ar3)):
	if ar3[i] == '2':
		ar2.append(str(ar3[i]))
for i in range(len(ar3)):
	if ar3[i] == '3':
		ar2.append(str(ar3[i]))
ans = '+'.join(ar2)
print(ans)


num = list(input())
plus = num.count('+')
for i in range(plus):
	num.remove('+')
num.sort()
answ = '+'.join(num)
print(answ)


string = input()
num = string.split('+')
bak = 0
for i in range(len(num)):
	for a in range(len(num)):
		if a + 1 < len(num):
			if num[a] > num[a + 1]:
				bak = num[a]
				num[a] = num[a + 1]
				num[a + 1] = bak
for i in range(len(num)):
	if i == len(num) - 1:
		print(num[i], end='')
	else:
		print(num[i] + '+', end='')


inp = input()
l = inp.split('+')
l.sort()
sep = '+'
print(sep.join(l))


def quicksort(b):
	large = []
	small = []
	equal = []
	if len(b) < 2:
		return b
	else:
		basement = b[0]
		j = 0
	while j < len(b):
		if b[j] > basement:
			large.append(b[j])
		elif b[j] < basement:
			small.append(b[j])
		else:
			equal.append(b[j])
		j = j + 1
	return quicksort(small) + equal + quicksort(large)
a = input()
i = 0
b = []
c = []
d = []
while i < len(a):
	b.append(int(a[i]))
	i = i + 2
c = quicksort(b)
for i in range(len(c) - 1):
	d.append(c[i])
	d.append('+')
d.append(c[len(c) - 1])
print(''.join(('%s' % id for id in d)))


s = input()
l = []
for i in range(len(s)):
	if s[i] == '+':
		pass
	else:
		l.append(int(s[i]))
l.sort()
x = '+'.join((str(i) for i in l))
print(x)


inp = input().split('+')
lon = map(int, inp)
new = sorted(lon)
string = str(new[0])
for elem in new[1:]:
	string = string + '+' + str(elem)
print(string)


s = input()
one = 0
two = 0
three = 0
for i in range(len(s)):
	if s[i] == '1':
		one += 1
	elif s[i] == '2':
		two += 1
	elif s[i] == '3':
		three += 1
data = []
for i in range(one):
	data.append('1')
for j in range(two):
	data.append('2')
for k in range(three):
	data.append('3')
print('+'.join(data))


b = input()
a = b.split('+')
a.sort()
c = ''
for i in a:
	c += i
	c += '+'
print(c[:-1])


x = input()
ans = []
for i in range(len(x)):
	if i % 2 == 0:
		ans.append(x[i])
ans.sort()
print('+'.join(ans))


n1 = input().split('+')
n1.sort()
s = ''
for i in n1:
	s = s + i + '+'
print(s[0:-1])


s = input()
a = s.count('1')
b = s.count('2')
c = s.count('3')
d = []
for i in range(a):
	d.append('1')
	d.append('+')
for i in range(b):
	d.append('2')
	d.append('+')
for i in range(c):
	d.append('3')
	d.append('+')
d.pop()
print(*d, sep='')


import sys as s

def calc(str1):
	lst = [int(x) for x in str1.split('+')]
	lst = sorted(lst)
	lst = [str(x) for x in lst]
	lst = '+'.join(lst)
	return lst
for v in s.stdin:
	v = v.strip()
	if len(v) > 0:
		print(calc(v))
		break


s = input()
if len(s) < 2:
	print(s[0])
else:
	a = []
	for i in range(len(s)):
		if s[i] == '+':
			continue
		else:
			a.append(int(s[i]))
	a.sort()
	s = []
	i = 0
	while i < len(a):
		s.append(a[i])
		s.append('+')
		i = i + 1
	for i in range(len(s) - 1):
		print(s[i], end='')


N = input().split('+')
N.sort()
lst = N[-1]
N.remove(N[-1])
for i in N:
	print(i + '+', end='')
print(lst)


s1 = input('')
s2 = []
s = 0
z = len(s1)
for x in s1:
	if x == '1':
		s2.append(1)
	elif x == '2':
		s2.append(2)
	elif x == '3':
		s2.append(3)
s2.sort()
s1 = ''
for y in s2:
	if y == 1:
		s1 += '1' + '+'
	elif y == 2:
		s1 += '2' + '+'
	elif y == 3:
		s1 += '3' + '+'
l = list(s1)
del l[z:]
s1 = ''
s1 = ''.join(l)
print(s1)


m = input()
m = list(m)
m = sorted(m)
n = ''
for i in m:
	if i == '+':
		continue
	else:
		n += i
		n += '+'
print(n[:-1])


s = input().split('+')
g = ''
s.sort()
for i in range(len(s)):
	if i < len(s) - 1:
		g += s[i] + '+'
	else:
		g += s[i]
print(g)


s = input()
l = []
for ele in s:
	if ele != '+':
		l.append(int(ele))
l.sort()
l = list(map(str, l))
print('+'.join(l))


s = str(input())
li = []
for i in range(len(s)):
	if i % 2 == 0:
		li.append(s[i])
li.sort()
print('+'.join(li))


str = input()
str = list(str)
lst = []
for i in range(len(str)):
	if str[i] != '+':
		lst.append(str[i])
lst.sort()
l = len(lst)
for i in range(l - 1):
	print(lst[i], end='')
	print('+', end='')
print(lst[l - 1])


original_sum = input().split('+')
original_sum.sort()
final_sum = '+'.join(original_sum)
print(final_sum)


n = input().split('+')
my_list = []
for i in n:
	if i == '1':
		my_list.append(i)
for i in n:
	if i == '2':
		my_list.append(i)
for i in n:
	if i == '3':
		my_list.append(i)
str1 = '+'.join(my_list)
print(str1)


A = str(input())
AA = A.split('+')
AA.sort()
print('+'.join(AA))


inp_str = str(input())
strlist = inp_str.split('+')
asc_str = sorted(strlist, key=lambda x: int(x))
print('+'.join(asc_str))


def solution():
	nums = sorted(input().split('+'))
	print('+'.join(nums))
solution()


x = input()
x1 = x.split('+')
l = len(x1)
for i in range(l):
	x1[i] = int(x1[i])
x1.sort()
ans = str(x1[0])
if l > 1:
	for i in range(l - 1):
		ans = ans + '+' + str(x1[i + 1])
print(ans)


m = input().split('+')
print('+'.join(sorted(m)))


sumit = input().split('+')
sumiti = [int(x) for x in sumit]
sumiti.sort()
x = [str(y) for y in sumiti]
z = '+'.join(x)
print(z)


expression = input()
expression = expression.split('+')
for i in range(len(expression)):
	min = i
	for k in range(i + 1, len(expression)):
		if expression[k] < expression[min]:
			min = k
	(expression[min], expression[i]) = (expression[i], expression[min])
string = ''
for (i, e) in enumerate(expression):
	string += e
	if i != len(expression) - 1:
		string += '+'
print(string)


text = str(input())
text_array = text.split('+')
text_array.sort()
seperator = '+'
seperator.join(text_array)
print(seperator.join(text_array))


s = input().strip().split('+')
s.sort(key=lambda x: int(x))
print('+'.join(s))


addition = list(input())
addition.sort()
while '+' in addition:
	i = addition.index('+')
	addition.pop(i)
addition = '+'.join(addition)
print(addition)


l = list(map(int, input().split('+')))
l.sort()
s = ''
for i in range(len(l)):
	s += '{}+'.format(l[i])
print(s[:len(l) * 2 - 1])


summation = input().split('+')
summation = [int(x) for x in summation]
summation.sort()
print('+'.join([str(x) for x in summation]))


inp = input()
l = inp.split('+')
l.sort()
show = str()
n = len(l)
for i in range(n):
	show += l[i]
	if i != n - 1:
		show += '+'
print(show)


s = input()
x = s.split('+')
v = []
g = []
for i in x:
	if i != '+':
		v.append(i)
v.sort()
print('+'.join(v))


def helpful_maths(string):
	array = [int(_) for _ in string.split('+')]
	array.sort()
	output_string = '+'.join((str(_) for _ in array))
	print(output_string)
string = input()
helpful_maths(string)


A = input()
nros = []
for k in A:
	if k != '+':
		nros.append(k)
aux = []
if len(A) == 1:
	print(A)
else:
	for k in nros:
		nro = int(k)
		aux.append(nro)
	aux = sorted(aux)
	word = ''
	for k in range(len(aux)):
		if k == len(aux) - 1:
			word += str(aux[k])
		else:
			word += str(aux[k]) + '+'
	print(word)


st1 = list(map(int, input().split('+')))
n = len(st1) - 1
for i in range(n, 0, -1):
	for j in range(n, n - i, -1):
		if st1[j] < st1[j - 1]:
			tmp = st1[j]
			st1[j] = st1[j - 1]
			st1[j - 1] = tmp
flag = 1
st2 = str(st1[0])
for i in st1:
	if flag == 1:
		flag = 2
		continue
	else:
		st2 += '+' + str(i)
print(st2)


limit = input('')
a = []

def get_the_list(count, limit, a):
	for i in range(0, len(limit)):
		if limit[i] == '+':
			a.append(limit[int(count):int(i)])
			count = i + 1
		elif i == len(limit) - 1:
			a.append(limit[int(count):len(limit)])
	return a
input1 = get_the_list(0, limit, a)
print
input1.sort(reverse=False)
result = '+'.join(input1)
print(result)


x = input()
x = x.replace(' ', '')
x = x.replace('+', '')
lst = []
for item in x:
	lst.append(int(item))
lst.sort()
y = '+'.join((str(e) for e in lst))
print(y)


from sys import stdin
s = stdin.readline().rstrip()
n = [int(x) for x in s if x != '+']
n = sorted(n)
s = ''
for x in n:
	s += str(x) + '+'
s = s[:-1]
print(s)


t = list(input().split('+'))
t = sorted(t)
for i in t[:len(t) - 1]:
	print(str(i) + '+', end='')
print(t[len(t) - 1])


summ = [str(x) + '+' for x in sorted(list(map(int, input().split('+'))))]
print(''.join(summ)[:2 * len(summ) - 1])


string = input()
listString = list(string)
length = len(listString)
newList = []
for i in range(length):
	if listString[i] != '+':
		newList = newList + [listString[i]]
sortedList = sorted(newList)
newLength = len(sortedList)
finalList = []
for i in range(newLength):
	finalList = finalList + [sortedList[i]] + ['+']
finalList.pop()
newString = ''.join(finalList)
print(newString)


s = str(input())
s = sorted(s)
if len(s) == 1:
	print(s[0])
else:
	for i in s[:-1]:
		if i is not '+':
			print(i, end='+')
	print(s[-1])


s = input()
c1 = c2 = c3 = 0
for i in s:
	if i == '1':
		c1 += 1
	elif i == '2':
		c2 += 1
	elif i == '3':
		c3 += 1
l = []
for i in range(c1):
	l.append('1+')
for i in range(c2):
	l.append('2+')
for i in range(c3):
	l.append('3+')
s = ''.join(l)
print(s[:-1])


a = str(input())
a = a.replace('+', '')
a = sorted(a)
b = ''
for _ in a:
	b += _ + '+'
print(b[:-1])


a = input()
res = []
for i in range(0, len(a), 2):
	res.append(a[i])
res.sort()
aa = ''
for i in res:
	aa = aa + i + '+'
print(aa[:-1])


zeile1 = input('')
zahl = 0
z1 = []
for i in range(len(zeile1)):
	if zeile1[i] != '+':
		z1.append(int(zeile1[i]))
z1.sort()
ausgabe = ''
for i in range(len(z1)):
	ausgabe = f'{ausgabe}{z1[i]}'
	if i < len(z1) - 1:
		ausgabe = f'{ausgabe}+'
print(ausgabe)


s1 = input()
l = s1.split('+')
l.sort()
st = str()
st = st + l[0]
for i in range(1, len(l)):
	st = st + '+'
	st = st + l[i]
print(st)


def read_into_list(plusString):
	plusStringClean = plusString.split('\n')[0]
	values = plusStringClean.split('+')
	return values

def selection_sort(the_array):
	for k in range(len(the_array) - 1):
		minimum = k
		for j in range(k, len(the_array)):
			if the_array[j] < the_array[minimum]:
				minimum = j
		swap(the_array, minimum, k)

def swap(the_array, a, b):
	temp = the_array[a]
	the_array[a] = the_array[b]
	the_array[b] = temp

def outputResults(the_list):
	if len(the_list) == 0:
		return ''
	elif len(the_list) == 1:
		return the_list[0]
	else:
		outString = ''
		for item in the_list:
			outString += str(item) + '+'
		return outString[:-1]
the_string = input()
numbersList = read_into_list(the_string)
selection_sort(numbersList)
print(outputResults(numbersList))


s = sorted(input().split('+'))
t = ''
for i in s:
	t += f'{int(i)}+'
print(t[:-1])


str1 = list(map(str, input().split('+')))
str1.sort()
print('+'.join(str1))


def InsertionSort2(A):
	for i in range(1, len(A)):
		j = i
		save = A[i]
		while j > 0 and A[j - 1] > save:
			A[j] = A[j - 1]
			j -= 1
		A[j] = save
	return A
s = input()
A1 = s.split('+')
D = []
for i in range(0, len(A1)):
	D.append(int(A1[i]))
InsertionSort2(D)
C = ''
for i in range(0, len(D)):
	C = C + str(D[i]) + '+'
C = C[0:len(C) - 1]
print(C)


s = str(input())
list1 = []
list2 = []
for i in range(0, len(s), 2):
	list1 += s[i]
for i in range(0, len(list1)):
	list2.append(int(list1[i]))
list2.sort()
s1 = str(list2[0])
for e in range(1, len(list2)):
	s1 += '+' + str(list2[e])
print(s1)


s = input()
if len(s) == 1:
	print(s)
else:
	number = s.split('+')
	numbers = [int(number[i]) for i in range(len(number))]
	numbers.sort()
	numberss = [str(numbers[i]) for i in range(len(number))]
	print('+'.join(numberss))


s = input()
s = s.replace('+', '')
a = list(s)
a.sort()
ans = ''.join(a)
b = ''
for i in ans:
	b = b + i + '+'
n = len(b)
print(b[:n - 1])


n = input()
l = []
for i in n:
	if i != '+':
		l.append(i)
l.sort()
s = ''
for i in l:
	s = s + (i + '+')
print(s[:-1])


import sys
numbers = sys.stdin.readline().rstrip().split('+')
numbers.sort()
print('+'.join(numbers))


s = input()
p = []
l = ''
for i in s:
	if i != '+':
		p.append(int(i))
p.sort()
for i in range(len(p) - 1):
	x = str(p[i])
	l += x
	l += '+'
l += str(p[len(p) - 1])
print(l)


a = input()
a = a.replace('+', '')
k = len(a)
a = list(a)
for i in range(k):
	m = i
	for j in range(k):
		if a[j] > a[m]:
			m = j
		(a[m], a[i]) = (a[i], a[m])
l = ''
for i in range(k - 1):
	l += a[i] + '+'
print(l + a[-1])


import sys
withFile = 0
if withFile == 1:
	fin = open('input.txt', 'r')
	fout = open('output.txt', 'w')

def getl():
	if withFile == 0:
		return input()
	else:
		return fin.readline()

def printl(s):
	if withFile == 0:
		print(s, end='')
	else:
		fout.write(str(s))

def get_arr():
	x = getl().split(' ')
	if x[-1] == '':
		x = x[:-1]
	return list(map(int, x))
a = sorted(list(map(int, getl().split('+'))))
printl(a[0])
for c in a[1:]:
	printl('+')
	printl(c)
if withFile == 1:
	fin.close()
	fout.close()


def main():
	the_string = input().split('+')
	the_string.sort()
	plm = '+'.join(the_string)
	print(plm)
main()


s = input()
num1 = num2 = num3 = 0
for i in s:
	if i == '1':
		num1 += 1
	elif i == '2':
		num2 += 1
	elif i == '3':
		num3 += 1
ss = '1+' * num1 + '2+' * num2 + '3+' * num3
print(ss[:-1])


line = input()
str_nums = line.split('+')
str_nums.sort()
print('+'.join(str_nums))


a = [i for i in input()]
for i in range(a.count('+')):
	a.remove('+')
a.sort()
print('+'.join(a))


unordered_sum = input().split('+')
print('+'.join(sorted(unordered_sum)))


def main():
	inp = input()
	nums = [0, 0, 0]
	for i in range(len(inp) // 2 + 1):
		nums[int(inp[2 * i]) - 1] += 1
	out = ''
	if nums[0] != 0:
		out += '1' + '+1' * (nums[0] - 1)
	if nums[1] != 0:
		if out == '':
			out += '2' + '+2' * (nums[1] - 1)
		else:
			out += '+2' * nums[1]
	if nums[2] != 0:
		if out == '':
			out += '3' + '+3' * (nums[2] - 1)
		else:
			out += '+3' * nums[2]
	print(out)
main()


str1 = str(input())
str2 = str1.split('+')
l2 = list(str2)
l2.sort()
print('+'.join(l2))


import os
line = list(map(int, input().rstrip().split('+')))
line.sort()
s = ''
for i in line:
	s += str(i) + '+'
print(s[:-1])


import fractions, sys
a = list(map(int, input().split('+')))
a.sort()
res = ''
for x in a[:-1]:
	res += str(x) + '+'
print(res + str(a[-1]))


s = input()
t = []
o = []
for i in range(0, len(s), 2):
	t.append(s[i])
t = sorted(t)
for i in t:
	o.append(str(i))
	o.append('+')
print(''.join(o[:-1]))


def HelpfulMaths():
	boardsum = input()
	nums = boardsum.split('+')
	nums = sorted(nums)
	ansStr = '+'.join(nums)
	print(ansStr)
	return None

def main():
	HelpfulMaths()
main()


import math
import os
import sys
import re
import itertools
import functools
import operator
s = sorted(map(int, input().split('+')))
res = ''
for i in s[:-1]:
	res = res + str(i) + '+'
print(res + str(s[-1]))


a = list(input())
ans = []
for i in range(0, len(a), 2):
	ans.append(int(a[i]))
ans = sorted(ans)
for i in range(len(ans) - 1):
	ans[i] = str(ans[i]) + '+'
print(*ans, sep='')


a = input()
if a.isdigit() == True:
	print(a)
else:
	a = a.split('+')
	a.sort()
	for i in range(len(a) - 1):
		print(a[i], end='+')
	print(a[len(a) - 1])


a = input()
b = a.replace('+', '')
c = ''.join(sorted(str(b)))
res = '+'.join((c[i:i + 1] for i in range(0, len(c), 1)))
print(res)


n = input()
z = []
for i in range(0, len(n), 2):
	z.append(n[i])
z.sort()
print(*z, sep='+')


a = list(map(int, input().split('+')))
c = []
c.extend(a)
c.sort()
for i in range(len(c)):
	print(c[i], end='')
	if i != len(c) - 1:
		print('+', end='')


s = input()
new = []
for i in range(len(s)):
	if s[i] == '+':
		continue
	else:
		new.append(s[i])
for i in range(len(new)):
	new[i] = int(new[i])
new.sort()
for i in range(len(new)):
	print(new[i], end='')
	if i != len(new) - 1:
		print('+', end='')


s1 = input().split('+')
s1.sort()
for i in range(len(s1) - 1):
	print(s1[i], end='+')
print(s1[len(s1) - 1])


text = input()
answer = text.split('+')
answer.sort()
new_answer = answer[0]
n = len(answer)
for i in range(1, n):
	new_answer = new_answer + '+' + answer[i]
print(new_answer)


ipt = input().split('+')
ipt.sort()
opt = '+'.join(ipt)
print(opt)


n = input()
if len(n) < 2:
	print(n)
else:
	req = sorted(n.split('+'))
	print('+'.join(req))


v = input().split('+')
v = [int(i) for i in v]
aux = 0
for _ in range(len(v) - 1):
	for i in range(len(v) - 1):
		if v[i] > v[i + 1]:
			aux = v[i]
			v[i] = v[i + 1]
			v[i + 1] = aux
v = [str(i) for i in v]
print('+'.join(v))


numbers = [int(a) for a in input().split('+')]
numbers.sort()
count = 1
for number in numbers:
	print(number, end='')
	if len(numbers) != count:
		print('+', end='')
	count += 1


arr = input().split('+')
dict = {}
for a in arr:
	dict[a] = arr.count(a)
str = ''
for x in sorted(dict.keys()):
	str += (x + '+') * dict[x]
print(str[:-1])


def matematyka():
	wynik = []
	slowo = input()
	for i in slowo:
		if i != '+':
			wynik.append(int(i))
	wynik = sorted(wynik)
	for i in range(len(wynik)):
		if i < len(wynik) - 1:
			print(wynik[i], end='+')
		else:
			print(wynik[i])
matematyka()


n = str(input())
s = []
i = 0
while i < len(n):
	s.insert(i, n[i])
	i = i + 2
s.sort()
s = ''.join(s)
s = '+'.join(s)
print(s)


n = input()
res = []
st = ''
for let in n:
	if let != '+':
		res.append(int(let))
res.sort()
for let in range(len(res)):
	if let < len(res) - 1:
		st += str(res[let])
		st += '+'
	else:
		st += str(res[let])
print(st)


in_str = str(input())
in_str = list(in_str)
item_list = in_str
new_list = []
for e in item_list:
	if e not in '+':
		new_list.append(e)
item_list = new_list
item_list.sort()
out = '+'.join(item_list)
print(out)


s = input()
l = s.split('+')
c = sorted(l)
agregar = '+'
f = agregar.join(c)
print(f)


x = input()
c = x.split('+')
l = list(c)
y = len(l)
c = []
for i in range(y):
	if l[i] == '1':
		c.append(l[i])
for i in range(y):
	if l[i] == '2':
		c.append(l[i])
for i in range(y):
	if l[i] == '3':
		c.append(l[i])
d = '+'.join(c)
print(d)


s = input()
l = len(s)
ans = ''
b = []
for i in s:
	if i != '+':
		b.append(int(i))
b.sort()
for i in b:
	ans = ans + str(i) + '+'
res = ''
for i in range(0, len(ans) - 1):
	res = res + ans[i]
print(res)


from sys import stdin
a = stdin.readline().rstrip().split()
a = a[0].replace('+', '')
ones = a.count('1')
twos = a.count('2')
threes = a.count('3')
a = ''
for i in range(ones):
	a += '1+'
for i in range(twos):
	a += '2+'
for i in range(threes):
	a += '3+'
print(a[:len(a) - 1])


temp = input()
numbers = temp.split('+')
for i in range(len(numbers)):
	for j in range(len(numbers) - i - 1):
		if int(numbers[j]) > int(numbers[j + 1]):
			(numbers[j], numbers[j + 1]) = (numbers[j + 1], numbers[j])
value = None
i = 0
while i != len(numbers) - 1:
	if value == None:
		value = numbers[i] + '+'
	else:
		value += numbers[i] + '+'
	i += 1
else:
	if value == None:
		value = numbers[i]
	else:
		value += numbers[i]
print(value)


a = input()
o = a.count('1')
tw = a.count('2')
th = a.count('3')
n = len(a)
for i in range(0, n):
	if i % 2 == 1:
		print('+', end='')
	elif o >= 1:
		print('1', end='')
		o -= 1
	elif tw >= 1:
		print('2', end='')
		tw -= 1
	elif th >= 1:
		print('3', end='')
		th -= 1


s = list(input().split('+'))
s = sorted(s)
ans = ''
for i in s:
	ans += i + '+'
print(ans[:len(ans) - 1])


s = input()
l = []
for i in range(len(s)):
	if not s[i] == '+':
		l.append(s[i])
l.sort()
for i in range(len(l)):
	print(l[i], end='')
	if i != len(l) - 1:
		print('+', end='')


s = input()
s1 = ''
l = s.split('+')
l1 = []
for i in l:
	l1.append(int(i))
l1.sort()
n = len(l1)
for i in range(0, n - 1):
	print(str(l1[i]) + '+', end='')
print(l1[n - 1])


no = list(map(int, input().split('+')))
no.sort()
sum = None
for i in no:
	if sum == None:
		sum = str(i)
	else:
		sum = sum + '+' + str(i)
print(sum)


data_str = list(input().split('+'))
data_str.sort()
result = ''
for i in data_str:
	result += i + '+'
result = result[0:len(result) - 1]
print(result)


x = list(map(str, input()))
length = len(x)
i = 0
for i in range(length):
	if x[i] == '+':
		continue
	min = i
	for k in range(i + 1, length):
		if x[k] == '+':
			continue
		elif x[min] > x[k]:
			min = k
	(x[i], x[min]) = (x[min], x[i])
kk = ''.join(x)
print(kk)


nums = input().split('+')
nums.sort()
result = nums[0]
for i in range(1, len(nums)):
	result = result + '+' + nums[i]
print(result)


summands = str(input())
myList = []
counter = 0
for i in range(0, int(len(summands) / 2) + 1):
	myList.append(summands[counter])
	counter += 2
myList.sort()
print('+'.join(myList))


line = str(input()).split('+')
for i in range(len(line)):
	line[i] = int(line[i])
line.sort()
ans = ''
for i in range(len(line) - 1):
	ans = ans + str(line[i]) + '+'
ans = ans + str(line[len(line) - 1])
print(ans)


import string
test = input()
print('+'.join(sorted(test.split('+'))))


s = input()
l = s.split('+')
n = len(l)
for i in range(n):
	for j in range(0, n - 1 - i):
		if l[j][0] > l[j + 1][0]:
			(l[j], l[j + 1]) = (l[j + 1], l[j])
for i in range(n - 1):
	print(l[i][0], end='')
	print('+', end='')
print(l[n - 1][0])


list1 = []
list1 = input().split('+')
l1 = list(map(int, list1))
l1.sort()
string = ''.join(map(str, l1))
string1 = '+'.join(string)
print(string1)


s = input()
a = s.count('1')
b = s.count('2')
c = s.count('3')
p = ''
while a:
	a = a - 1
	p = p + '1+'
while b:
	b = b - 1
	p = p + '2+'
while c:
	c = c - 1
	p = p + '3+'
p = p[:len(p) - 1]
print(p)


exp = [int(i) for i in input().split('+')]
exp.sort()
newExp = [str(i) for i in exp]
print('+'.join(newExp))


i_input_string = input()
count_one = 0
count_two = 0
count_three = 0
for char in i_input_string:
	if char == '1':
		count_one += 1
	elif char == '2':
		count_two += 1
	elif char == '3':
		count_three += 1
final_str = ''
if count_one != 0:
	temp_str = '1+' * count_one
	final_str = final_str + temp_str
if count_two != 0:
	temp_str = '2+' * count_two
	final_str = final_str + temp_str
if count_three != 0:
	temp_str = '3+' * count_three
	final_str = final_str + temp_str
final_str = final_str[:-1]
print(final_str)


s = str(input())
if len(s) == 1:
	print(s)
else:
	a = s.split('+')
	a.sort()
	b = '+'.join(a)
	print(b)


s = input()
s = s.replace('+', '')
a = list(s)
a.sort()
for i in range(len(s)):
	if i != len(a) - 1:
		print(str(a[i]) + '+', end='')
	else:
		print(str(a[i]), end='')


s = input()
a = sorted(s)
l = int(len(s) / 2)
print('+'.join(a[l:len(a)]))


s = input()
temp = []
for i in s:
	if i != '+':
		temp.append(int(i))
temp.sort()
st = ''
for i in temp:
	st = st + str(i) + '+'
print(st[0:-1])


a = input()
brojevi = []
for i in a:
	if i != '+':
		brojevi.append(int(i))
brojevi.sort()
print(*brojevi, sep='+')


s = input()
a = []
s1 = ' '
for i in s:
	if i != '+':
		a.append(int(i))
a.sort()
s1 = '+'.join([str(y) for y in a])
print(s1)


s = str(input())
i = 0
if len(s) == 1:
	print(s)
else:
	s = sorted(s.split('+'))
	s2 = '+'.join(s)
	print(s2)


import re
ans = []
x = str(input())
ans.append(re.findall('[0-9]+', x))
ans[0].sort()
res = str()
for i in ans[0]:
	res = res + i + '+'
print(res[:-1])


s = input()
n = m = c = 0
for i in range(0, len(s), 2):
	if s[i] == '1':
		n += 1
	elif s[i] == '2':
		m += 1
	else:
		c += 1
d = '1+' * n + '2+' * m + '3+' * c
print(d[:-1])


arr = input().split('+')
for x in range(1, len(arr)):
	selected_num = int(arr[x])
	for y in range(x - 1, -1, -1):
		if int(arr[y]) > selected_num:
			arr[y + 1] = int(arr[y])
			arr[y] = int(selected_num)
result = str(arr[0])
for x in range(1, len(arr)):
	result = result + '+' + str(arr[x])
print(result)


payload = input()
payload1 = payload.split('+')
print('+'.join(sorted(payload1)))


def main():
	l = list(map(int, input().split('+')))
	l.sort()
	print(*l, sep='+')
main()


n = input()
arr = [x for x in n if x.isdigit()]
a = '+'.join(sorted(arr))
print(a)


import math
arr = list(input())
new_list = []
for i in range(len(arr)):
	if i % 2 == 0:
		new_list.append(arr[i])
sort_list = sorted(new_list)
final_list = ''
for i in range(len(sort_list)):
	final_list += sort_list[i]
	if i + 1 != len(sort_list):
		final_list += '+'
print(final_list)


s = list(map(int, input().split('+')))
s = sorted(s)
p = ''
for i in range(len(s) - 1):
	p += str(s[i]) + '+'
p += str(s[-1])
print(p)


lisa = input()
jin = [0] * len(lisa)
count = -1
for i in range(len(lisa)):
	if lisa[i] != '+':
		count += 1
		jin[count] = i
numbers = [0] * (count + 1)
for i in range(count + 1):
	numbers[i] = int(lisa[jin[i]])
numbers = sorted(numbers)
ans = str(numbers[0])
for i in range(1, count + 1):
	ans += '+' + str(numbers[i])
print(ans)


n = input().split('+')
x = sorted(n)
p = '+'.join(x)
print(p)


import sys
if sys.version_info.major < 3:
	input = raw_input

def main():
	return '+'.join(sorted(input().split('+'), key=int))
print(main())


pattern = input().split('+')
sorted_pattern = [int(i) for i in pattern]
sorted_pattern = sorted(sorted_pattern)
sorted_pattern = [str(i) for i in sorted_pattern]
otp = '+'.join(sorted_pattern)
print(otp)


numbers = [x for x in input().split('+')]
numbers.sort()
print('+'.join(numbers))


A = list(map(int, input().split('+')))
A.sort()
if len(A) > 1:
	print('+'.join(list(map(str, A))))
else:
	for i in range(len(A)):
		print(A[i])


x = input()
y = list(x)
z = []
for i in range(len(y)):
	if i % 2 == 0:
		z.append(int(y[i]))
n = len(z)
for j in range(n):
	for i in range(j + 1, n):
		if z[j] >= z[i]:
			x = z[j]
			z[j] = z[i]
			z[i] = x
for i in range(n - 1):
	print(str(z[i]), end='+')
print(str(z[n - 1]))


n = input()
lst = []
m = ''
for i in n:
	if i != '+':
		lst.append(i)
lst.sort()
for i in lst:
	m = m + ''.join('+' + i)
print(m[1:])


s = input()
x = ''
l = sorted([s[i] for i in range(0, len(s), 2)])
for i in range(len(l)):
	if i == len(l) - 1:
		x += l[i]
	else:
		x += l[i] + '+'
print(x)


k = str(input())
a = k.count('1')
b = k.count('2')
c = len(k) - a - b - len(k) // 2
x = a * '1+' + b * '2+' + c * '3+'
if x[-1] == '+':
	x = x[:len(x) - 1]
print(x)


inp = input()
lst = [0, 0, 0]
for char in inp:
	if char != '+':
		lst[int(char) - 1] += 1
del inp
countp = sum(lst) - 1
countn = 0
for i in range(lst[0]):
	print('1', end='')
	if countn != countp:
		print('+', end='')
		countn += 1
for i in range(lst[1]):
	print('2', end='')
	if countn != countp:
		print('+', end='')
		countn += 1
for i in range(lst[2]):
	print('3', end='')
	if countn != countp:
		print('+', end='')
		countn += 1
del countn
del countp
del lst


(s, k, i) = (input(), 1, 0)
s = list(s)
while k != 0:
	k = 0
	i = 0
	while i < len(s) - 1:
		i += 2
		if int(s[i]) < int(s[i - 2]):
			n = s[i]
			s[i] = s[i - 2]
			s[i - 2] = n
			k += 1
for i in range(len(s)):
	print(s[i], end='')


n = [int(x) for x in input().split('+')]
n = sorted(n)
print('+'.join((str(x) for x in n)))


x = input()
if len(x) < 3:
	print(x)
else:
	tmp = sorted(list(x.split('+')))
	print('+'.join(tmp))


n = input()
m = ''
f = 0
s = 0
th = 0
if len(n) == 1:
	print(n)
else:
	for i in n:
		if i == '3':
			th += 1
		if i == '2':
			s += 1
		if i == '1':
			f += 1
	for i in range(f):
		if m == '':
			m += '1'
		else:
			m += '+1'
	for i in range(s):
		if m == '':
			m += '2'
		else:
			m += '+2'
	for i in range(th):
		if m == '':
			m += '3'
		else:
			m += '+3'
print(m)


s = input()
s2 = ''
one = s.count('1')
two = s.count('2')
three = s.count('3')
for i in range(one):
	s2 += '1+'
for i in range(two):
	s2 += '2+'
for i in range(three):
	s2 += '3+'
print(s2[:-1])


n = input()
a = []
for i in n:
	if i != '+':
		a.append(int(i))
a.sort()
listToStr = '+'.join(map(str, a))
print(listToStr)


import sys
string = input()
num = string.split('+')
snum = sorted(num)
for i in range(len(snum)):
	print(snum[i], end='')
	if i != len(snum) - 1:
		print('+', end='')


str1 = str(input())
t = list(str1)
for i in range(0, len(t), 2):
	for j in range(0, len(t) - i - 2, 2):
		if t[j] > t[j + 2]:
			(t[j], t[j + 2]) = (t[j + 2], t[j])
print(''.join(t))


s = input()
s = list(s)
while '+' in s:
	s.remove('+')
s = list(map(int, s))
s.sort()
t = []
for i in s:
	t.append(i)
	t.append('+')
n = len(t)
u = t[0:n - 1]
v = ''
for i in u:
	v = v + str(i)
print(v)


s = input()
lst = []
for i in range(len(s)):
	if ord(s[i]) > ord('0') and ord(s[i]) < ord('4'):
		lst.append(s[i])
lst.sort()
out = '+'.join(lst)
print(out)


s = input()
lst = []
for i in range(len(s)):
	if i % 2 == 0:
		lst.append(s[i])
lst.sort()
x = '+'.join(lst)
print(x)


summans = input()
ones = summans.count('1')
twos = summans.count('2')
threes = summans.count('3')
if len(summans) > 1:
	if ones > 0:
		for i in range(1, ones + 1):
			print('1+' if i < ones else '1', end='')
	if twos > 0:
		print('+' if ones > 0 else '', end='')
		for i in range(1, twos + 1):
			print('2+' if i < twos else '2', end='')
	if threes > 0:
		print('+' if twos > 0 else '', end='')
		print('+' if twos == 0 and ones > 0 else '', end='')
		for i in range(1, threes + 1):
			print('3+' if i < threes else '3', end='')
else:
	print(summans)


n = input()
n = n.replace('+', '')
l = []
for i in range(len(n)):
	l.append(int(n[i]))
l.sort()
a = '+'.join((str(i) for i in l))
print(a)


x = str(input())
list_str = x.split('+')
print('+'.join(sorted(list_str)))


str1 = input().split('+')
one = str1.count('1')
two = str1.count('2')
three = str1.count('3')
output = []
eachNum = 1
for i in range(3):
	if i == 0:
		number = one
	if i == 1:
		number = two
	if i == 2:
		number = three
	for j in range(number):
		output.append(str(eachNum))
	eachNum += 1
print('+'.join(output))


import sys
from collections import Counter

def transform_sum(sum_str):
	numbers = Counter(map(int, sum_str.split('+')))
	return '+'.join('1' * numbers[1] + '2' * numbers[2] + '3' * numbers[3])

def main():
	sum_str = sys.stdin.readline().strip()
	print(transform_sum(sum_str))
main()


import sys
a = [i for i in input().split('+')]
a.sort()
b = '+'.join(a)
print(b)


a = input()
x = 0
y = 0
z = ''
b = '+'
while len(a) <= 100 and x <= len(a) - 1:
	if int(a[x]) == 1:
		if len(z) == len(a) - 1:
			b = ''
		z = z + str(a[x]) + b
	x = x + 2
x = 0
while len(a) <= 100 and x <= len(a) - 1:
	if int(a[x]) == 2:
		if len(z) == len(a) - 1:
			b = ''
		z = z + str(a[x]) + b
		x = x + 2
	else:
		x = x + 2
x = 0
while len(a) <= 100 and x <= len(a) - 1:
	if int(a[x]) == 3:
		if len(z) == len(a) - 1:
			b = ''
		z = z + str(a[x]) + b
		x = x + 2
	else:
		x = x + 2
print(z)


s = input()
p = []
one = 0
for i in s:
	if i != '+':
		if i == '3':
			p.append('3')
		if i == '1':
			p.insert(0, '1')
			one += 1
		if i == '2':
			p.insert(one, '2')
print('+'.join(p))


sum = input()
number = []
for i in range(len(sum)):
	if i == 0 or i % 2 == 0:
		number.append(sum[i])
number.sort()
for i in range(len(number)):
	print(number[i], end='')
	if i != len(number) - 1:
		print('+', end='')


T = input('')
T = T.split('+')
T = sorted(T)
print('+'.join(T))


print('+'.join(sorted([i for i in input() if i != '+'])))


n = list(input())
if len(n) == 1:
	print(''.join(n))
else:
	ans = []
	for i in n:
		if i in '123':
			ans.append(i)
	ans.sort()
	xxx = ans[-1]
	ans = ans[:-1]
	for i in ans:
		print(i + '+', end='')
	print(xxx)


input_string = input().split('+')
input_string.sort()
print('+'.join(input_string))


s = input()
n = len(s)
r = ''
p = ''
for i in range(0, n, 2):
	r += s[i]
r = sorted(r)
r = ''.join(r)
for i in range(len(r) - 1):
	p += r[i] + '+'
p += r[-1]
print(p)


s = input().split('+')
s = sorted(s)
ans = ''
for i in range(len(s)):
	if i == len(s) - 1:
		ans += str(s[i])
		break
	ans += str(s[i]) + '+'
print(ans)


inp = input()
plus = 1
one = 0
two = 0
three = 0
answer = ''
for x in range(len(inp)):
	if inp[x] == '+':
		plus = plus + 1
	elif inp[x] == '1':
		one = one + 1
	elif inp[x] == '2':
		two = two + 1
	else:
		three = three + 1
while plus > 0:
	if one > 0:
		answer = answer + '1'
		one = one - 1
	elif two > 0:
		answer = answer + '2'
		two = two - 1
	elif three > 0:
		answer = answer + '3'
		three = three - 1
	if plus > 1:
		answer = answer + '+'
	plus = plus - 1
print(answer)


s1 = input().strip()
n1 = s1.count('1')
n2 = s1.count('2')
n3 = s1.count('3')
s2 = ''
for i in range(0, n1):
	s2 += '1+'
for i in range(0, n2):
	s2 += '2+'
for i in range(0, n3):
	s2 += '3+'
print(s2[:len(s2) - 1])


string = str(input())
target = ''
nums = []
for i in range(len(string)):
	x = string[i]
	if x != '+':
		nums.append(int(x))
nums.sort()
for i in range(len(nums) - 1):
	target += str(nums[i]) + '+'
target += str(nums[len(nums) - 1])
print(target)


s = input()
output = []
for i in s:
	if i != '+':
		output.append(int(i))
output = sorted(output)
print('+'.join(map(str, output)))


mass = list(map(int, input().split('+')))
mass = list(map(str, sorted(mass)))
string = '+'.join(mass)
print(string)


mylist = input().split('+')
for i in range(len(mylist)):
	mylist[i] = int(mylist[i])
mylist = sorted(mylist)
for i in range(len(mylist)):
	print(mylist[i], end='')
	if i < len(mylist) - 1:
		print('+', end='')


string = input()
lst = string.split('+')
x = sorted(lst)
for i in range(len(x)):
	if i != len(x) - 1:
		print(x[i], end='+')
	else:
		print(x[i])


s = list(map(int, input().split('+')))
t1 = s.count(1)
t2 = s.count(2)
t3 = s.count(3)
a = ''
while t1 > 0:
	a = a + '1' + '+'
	t1 = t1 - 1
while t2 > 0:
	t2 = t2 - 1
	a = a + '2' + '+'
while t3 > 0:
	t3 = t3 - 1
	a = a + '3' + '+'
m = len(a)
print(a[0:m - 1])


a = input().split('+')
a.sort(reverse=0)
print('+'.join(a))


sum = input().split('+')
sum.sort()
sum = '+'.join((c for c in sum))
print(sum)


s = input()
li = s.split('+')
li.sort()
s2 = ''
main_s = ''
for i in li:
	s2 += str(i) + '+'
main_s = s2.strip('+')
print(main_s)


s = input()
p = list(s.split('+'))
p = sorted(p)
q = '+'
r = q.join(p)
print(r)


s = input()
cnt1 = 0
cnt2 = 0
cnt3 = 0
for i in s:
	if i == '1':
		cnt1 += 1
	elif i == '2':
		cnt2 += 1
	elif i == '3':
		cnt3 += 1
for i in range(0, cnt1):
	print('1', end='')
	if i != cnt1 - 1:
		print('+', end='')
if cnt2 != 0 and cnt1 != 0:
	print('+', end='')
for i in range(0, cnt2):
	print('2', end='')
	if i != cnt2 - 1:
		print('+', end='')
if cnt3 != 0 and cnt2 != 0 or (cnt3 != 0 and cnt1 != 0):
	print('+', end='')
for i in range(0, cnt3):
	print('3', end='')
	if i != cnt3 - 1:
		print('+', end='')


s = str(input())
s = list(s)
s = [x for x in s if x != '+']
s = sorted(s)
m = []
i = 0
j = 0
x = len(s)
while True:
	if i % 2 != 0:
		m.insert(i, '+')
	elif j != x:
		m.insert(i, s[j])
		j += 1
	else:
		break
	i += 1
m = m[:-1]
print(''.join(m))


s = input()
ls = []
for i in range(0, len(s), 2):
	ls.append(int(s[i]))
ls.sort()
print(ls[0], end='')
for i in range(1, len(ls)):
	print('+', ls[i], sep='', end='')


s = input().split('+')
s.sort()
plus = ''
res = ''
for i in s:
	res += plus
	res += i
	plus = '+'
print(res)


s = input()
if len(s) > 1:
	for x in s:
		if x == '+':
			s = s.replace(x, '')
	s1 = sorted(s)
	str = '+'
	print(str.join(s1))
else:
	print(s)


import re
ans = '+'.join(list(map(str, sorted(list(map(int, input().split('+')))))))
print(ans)


s = str(input())
a = b = c = 0
for ch in s:
	if ch == '1':
		a += 1
	elif ch == '2':
		b += 1
	elif ch == '3':
		c += 1
print(('1+' * a + '2+' * b + '3+' * c)[0:-1])


strings = input()
lis = strings.split('+')
numbers = list(map(lambda x: int(x), lis))

def iterativesort(l):
	for i in range(len(l)):
		for j in range(i + 1, len(l)):
			if l[j] < l[i]:
				t = l[j]
				l[j] = l[i]
				l[i] = t
	return l
numbers = iterativesort(numbers)
strings = list(map(lambda x: str(x), numbers))
print('+'.join(strings))


from collections import Counter
import math
import sys
from bisect import bisect, bisect_left, bisect_right

def input():
	return sys.stdin.readline().strip()

def INT():
	return int(input())

def MAP():
	return map(int, input().split())

def LIST(N=None):
	return list(MAP()) if N is None else [INT() for i in range(N)]

def mod():
	return 10 ** 9 + 7
s = input()
arr = []
for i in range(0, len(s), 2):
	arr.append(int(s[i]))
arr.sort()
ans = ''
for i in range(len(arr)):
	ans += str(arr[i])
	if i != len(arr) - 1:
		ans += '+'
print(ans)


z = input
a = sorted(str.split(z(), '+'))
print('+'.join(a))


str = input()
splitted_str = str.split('+')
splitted_str.sort()
if len(splitted_str) > 1:
	result = '+'.join(splitted_str)
else:
	result = ''.join(splitted_str)
print(result)


s = input()
x = s.split('+')
n = len(x)
one = 0
two = 0
three = 0
for i in x:
	i = int(i)
	if i == 1:
		one = one + 1
	elif i == 2:
		two = two = two + 1
	elif i == 3:
		three = three + 1
for i in range(0, one):
	x[i] = '1'
for i in range(0, two):
	x[i + one] = '2'
for i in range(0, three):
	x[i + one + two] = '3'
output = ''
for i in range(0, n - 1):
	output = output + x[i] + '+'
output = output + x[n - 1]
print(output)


s = input()
s += '+'
s1 = len(s)
l = []
i = 0
x = ''
while i < s1:
	if s[i] != '+':
		x += s[i]
	else:
		l.append(int(x))
		x = ''
	i += 1
l.sort()
l1 = len(l)
for i in range(l1):
	print(l[i], end='')
	if i != l1 - 1:
		print('+', end='')


sum = input()
a = []
for i in sum:
	if i.isalnum():
		a.append(i)
a = sorted(a)
j = 0
sumnew = ''
for i in sum:
	if i.isalnum():
		sumnew = sumnew + a[j] + '+'
		j += 1
print(sumnew[0:len(sumnew) - 1])


str = input()
str = str.split('+')
str.sort()
ans = ''
n = len(str)
for i in range(n):
	ans = ans + str[i]
	if i != n - 1:
		ans = ans + '+'
print(ans)


string = input()
numbers = [x for x in string.split('+')]
numbers.sort()
print('+'.join((num for num in numbers)))


(digits, result) = (input().split('+'), [])
digits.sort()
[result.append('+' + d) for d in digits]
print(''.join(result)[1:])


li = list(map(int, input().split('+')))
li.sort()
for i in range(len(li)):
	print(li[i], end='')
	if i == len(li) - 1:
		break
	print('+', end='')


test = list(input())
another = test[::2]
another.sort()
result = '+'.join(another)
print(result)


n = input()
a = []
result = ''
for i in range(0, len(n), 2):
	a.append(n[i])
a.sort()
for i in range(len(a)):
	result += a[i] + '+'
print(result[0:-1])


inp_str = str(input())
arr = inp_str.split('+')
arr.sort()
print('+'.join(arr))


equation = input()
lst_num = equation.split('+')
lst_num.sort()
string = ''
for num in range(len(lst_num)):
	if num < len(lst_num) - 1:
		string += str(lst_num[num]) + '+'
	else:
		string += str(lst_num[num])
print(string)


s = tuple(input().split('+'))
if len(s) > 1:
	s = sorted(s)
	s = '+'.join(s)
else:
	s = ''.join(s)
print(s)


s = list(input())
t = list(filter('+'.__ne__, s))
sum = '+'.join(sorted(t))
print(sum)


n = list(input())
if len(n) == 1:
	print(n[0])
else:
	n.sort()
	new = ''
	for i in range(len(n) // 2, len(n)):
		new += n[i] + '+'
	print(new[0:len(n)])


s = input()
new = s.replace('+', '')
l = list(new)
l.sort()
x = 2 * len(l)
for i in range(1, x - 1, 2):
	l.insert(i, '+')
print(*l, sep='')


x = input()
a = []
for i in x:
	if i != '+':
		a.append(i)
a = sorted(a)
for i in range(len(a)):
	if i < len(a) - 1:
		print(a[i], end='')
		print('+', end='')
	elif i == len(a) - 1:
		print(a[i])


import sys
numDict = {}
for i in range(1, 4):
	numDict[i] = 0
numList = [int(x) for x in input().split('+')]
a = 0
for x in numList:
	numDict[x] += 1
	a += 1
i = 1
while i <= 3:
	while numDict[i] > 0:
		if a != 1:
			sys.stdout.write('%s+' % i)
		else:
			sys.stdout.write(str(i))
		numDict[i] -= 1
		a -= 1
	i += 1


a = input()
l = []
b = a.split('+')
e = sorted(b)
c = '+'.join(e)
print(c)


s = input()
n = []
for i in range(len(s) // 2 + 1):
	n.append(s[2 * i])
n.sort(reverse=False)
m = ''
g = 0
for i in n:
	m = m + i
	g = g + 1
	if g != len(n):
		m = m + '+'
print(m)


list_of_numbers = input().split('+')
number_of_ones = 0
number_of_twos = 0
number_of_threes = 0
for i in list_of_numbers:
	if i == '1':
		number_of_ones = number_of_ones + 1
	elif i == '2':
		number_of_twos = number_of_twos + 1
	else:
		number_of_threes = number_of_threes + 1
str = ''
for i in range(number_of_ones):
	str = '+'.join([str, '1'])
for i in range(number_of_twos):
	str = '+'.join([str, '2'])
for i in range(number_of_threes):
	str = '+'.join([str, '3'])
print(str[1:])


k = input()
a = [i for i in k]
b = []
c = []
for i in range(len(a)):
	if i % 2 == 0:
		b.append(a[i])
	if i % 2 != 0:
		c.append(a[i])
b = list(map(int, [i for i in b]))
b.sort()
b = list(map(str, [i for i in b]))
res = ''
i = 0
while i < len(b):
	res += b[i]
	if i < len(c):
		res += c[i]
	i += 1
print(res)


s = input()
l = []
for i in s:
	if i != '+':
		l.append(i)
l.sort(key=int)
for i in range(len(l)):
	if i == len(l) - 1:
		print(l[i])
	else:
		print(l[i] + '+', end='')


lst = [int(s) for s in input().split('+')]
if len(lst) > 1:
	lst = sorted(lst)
	print('+'.join(map(str, lst)))
else:
	print(*lst)


data = input()
kek = data.split('+')
kek.sort()
print('+'.join(kek))


s = str(input())
l = []
for each in s:
	if each != '+':
		l.append(each)
l.sort()
print(*l, sep='+')


a = input()
a = a.split('+')
for i in range(len(a)):
	a[i] = int(a[i])
a.sort()
f = ''
for i in range(len(a)):
	f = f + str(a[i])
	if i != len(a) - 1:
		f = f + '+'
print(f)


a = list(map(int, input().split('+')))
a.sort()
print('+'.join([str(c) for c in a]))


def partition(array, low, high):
	pivot = array[high]
	i = low - 1
	for j in range(low, high):
		if array[j] <= pivot:
			i = i + 1
			(array[i], array[j]) = (array[j], array[i])
	(array[i + 1], array[high]) = (array[high], array[i + 1])
	return i + 1

def quickSort(array, low, high):
	if low < high:
		pi = partition(array, low, high)
		quickSort(array, low, pi - 1)
		quickSort(array, pi + 1, high)
line = input().replace('+', ' ')
data = list(map(int, line.rstrip().split()))
size = len(data)
quickSort(data, 0, size - 1)
final = ''
for i in data:
	final += str(i) + '+'
print(final[:len(final) - 1])


x = input()
numbers = list(map(int, x.split('+')))
ones = 0
twos = 0
threes = 0
for x in numbers:
	if x == 1:
		ones += 1
	elif x == 2:
		twos += 1
	elif x == 3:
		threes += 1
finalString = ''
for x in range(0, ones):
	finalString += '1+'
for x in range(0, twos):
	finalString += '2+'
for x in range(0, threes):
	finalString += '3+'
sObject = slice(0, -1)
print(finalString[sObject])


sum = list(map(int, input().split('+')))
sum.sort()
sum1 = [str(x) for x in sum]
sum1 = '+'.join(sum1)
print(sum1)


str = list(input().split('+'))

def solve(strP):
	output = ''
	pom = 1
	strP.sort()
	for x in range(0, len(strP) - 1):
		strP.insert(x + pom, '+')
		pom += 1
	return ''.join(strP)
print(solve(str))


t = input()
b = t.replace('+', '')
res = '+'.join(sorted(b))
print(res)


s = input().split('+')
one = 0
two = 0
three = 0
for c in s:
	if c == '1':
		one += 1
	elif c == '2':
		two += 1
	else:
		three += 1
o = '1+' * one + '2+' * two + '3+' * three
o = o[0:len(o) - 1]
print(o)


str = list(input())
while True:
	if '+' not in str:
		break
	str.remove('+')
str.sort()
print('+'.join(str))


k = input()
l = len(k) + 1
L = []
for i in range(1, l):
	if i % 2 == 1:
		L.append(k[i - 1])
L = sorted(L)
length = len(L)
K = []
for i in range(0, length):
	K.append(L[i])
	K.append('+')
print(''.join(K[:-1]))


written_on_board = input()
numbers_list = []
for i in range(0, len(written_on_board), 2):
	numbers_list.append(written_on_board[i])
for j in range(0, len(numbers_list)):
	print(sorted(numbers_list)[j], end='')
	if j != len(numbers_list) - 1:
		print('+', end='')


list0 = [int(i) for i in input().split('+')]
list0.sort()
print(list0[0], end='')
for i in range(1, len(list0)):
	print('+', end='')
	print(list0[i], end='')


s = input()
l = s.split('+')
s1 = ''
add = 0
if l == sorted(l):
	print(s)
else:
	l = sorted(l)
	for i in range(len(l)):
		s1 += l[i] + '+'
	print(s1[0:-1])


s_um = input().split('+')
s_um.sort()
print('+'.join(s_um))


x = list(input().strip())
x.sort()
print('+'.join(x[len(x) // 2:]))


print('+'.join([str(j) for j in sorted([int(i) for i in input().split('+')])]))


sum = input()
nsum = ''
digits = sum.split('+')
digits.sort()
for digit in digits:
	nsum = nsum + '+' + digit
print(nsum[1:])


def sol(l):
	l.sort()
	return '+'.join(l)
s = input()
s1 = s.split('+')
print(sol(s1))


import sys
from sys import stdin, stdout

def get_ints():
	return list(map(int, sys.stdin.readline().strip().split()))

def get_string():
	return sys.stdin.readline().strip()
arr = list(map(int, input().split('+')))
for i in range(0, len(arr)):
	for k in range(0, len(arr)):
		if arr[i] < arr[k]:
			temp = arr[i]
			arr[i] = arr[k]
			arr[k] = temp
print(*arr, sep='+')


num = input().split('+')
num.sort()
s = str()
if len(num) == 1:
	print(num[0])
else:
	for n in num[:-1]:
		s += str(n) + '+'
	s += num[-1]
	print(s)


a = input()
c = []
for i in a:
	c.append(i)
	if '+' in c:
		c.remove('+')
c.sort()
print('+'.join(c))


equation = input()
numbers = list(equation.split('+'))

def Insertion_sort(arr):
	for j in range(1, len(arr)):
		key = arr[j]
		i = j - 1
		while i >= 0 and arr[i] > key:
			arr[i + 1] = arr[i]
			i = i - 1
		arr[i + 1] = key
	return arr
Insertion_sort(numbers)
s = ''
for i in range(len(numbers) - 1):
	s += numbers[i] + '+'
s += numbers[len(numbers) - 1]
print(s)


t = list(map(int, input().split('+')))
t.sort()
print(*t, sep='+')


def helpful_maths(str1):
	test = [int(i) for i in str1.split('+')]
	test = sorted(test)
	test = [str(i) for i in test]
	print('+'.join(test))
helpful_maths(input())


n = input()
a = [i for i in n]
b = []
for i in a:
	try:
		int(i)
		b.append(i)
	except:
		pass
b.sort()
f = '+'.join([i for i in b])
print(f)


lol = input().split('+')
print('+'.join(sorted(lol)))


li = input().split('+')
l = len(li)
for i in range(l):
	for j in range(i + 1, l):
		if li[i] > li[j]:
			t = li[i]
			li[i] = li[j]
			li[j] = t
for i in range(l):
	print(li[i], end='')
	if i != l - 1:
		print('+', end='')


import re
a = input().split('+')
a.sort()
s = ''
for n in a:
	s += '+' + n
print(s[1:])


s = input()
count = [0, 0, 0]
for i in range(0, len(s), 2):
	count[int(s[i]) - 1] += 1
print(''.join(['1+'] * count[0] + ['2+'] * count[1] + ['3+'] * count[2])[:-1])


S = input()
if '+' not in S:
	print(S)
else:
	L = []
	for i in S:
		if i == '1' or i == '2' or i == '3':
			L.append(int(i))
	L.sort()
	V = ''
	for i in L:
		V += str(i) + '+'
	print(V[:-1])


s = input()
t = ''
r = ''
l = []
if '+' in s:
	r = s.replace('+', '')
	for i in r:
		l.append(i)
		l.sort()
	for i in l:
		t = t + i + '+'
	print(t[:-1])
else:
	print(s)


l = list(map(int, input().split('+')))
l = sorted(l)
s = map(str, l)
x = '+'
print(x.join(s))


x = [i for i in input().split('+')]
x.sort()
print('+'.join(x))


operations = input()
nums = operations.split('+')
nums.sort()
print('+'.join(nums))


a = input().replace('+', '')
n1 = a.count('1')
n2 = a.count('2')
n3 = a.count('3')
if n3 >= 1:
	print('1+' * n1 + '2+' * n2 + '3+' * (n3 - 1) + '3')
if n3 == 0:
	if n2 >= 1:
		print('1+' * n1 + '2+' * (n2 - 1) + '2')
	if n2 == 0:
		if n1 >= 1:
			print('1+' * (n1 - 1) + '1')
		if n1 == 0:
			print('0')


a = input()
b = []
for i in range(0, len(a) + 1, 2):
	b = b + [int(a[i])]
b.sort()
for i in range(len(b)):
	print(b[i], end='')
	if i < len(b) - 1:
		print('+', end='')


s = input().split('+')
l = []
z = ''
for x in s:
	l.append(int(x))
l = sorted(l)
for x in l:
	z = z + (str(x) + '+')
print(z[0:len(z) - 1])


s = sorted(input())
out = ''
for i in s:
	if i != '+':
		out = out + i + '+'
print(out[:-1])


terms = input().split('+')
terms.sort()
print('+'.join(terms))


s = input()
x = s.split('+')
n = len(s) - len(x)
x.sort()
for i in range(1, len(x) + n, 2):
	x.insert(i, '+')
print(''.join(x))


a = input()
i = a.count('1')
j = a.count('2')
k = a.count('3')
ans = '1+' * i + '2+' * j + '3+' * k
print(ans[:-1])


n = input()
if len(n) == 1:
	print(n)
else:
	n = sorted(list(map(int, n.split('+'))))
	a = [str(i) for i in n]
	print('+'.join(a))


a = input()
one = a.count('1')
two = a.count('2')
three = a.count('3')
if one > 0:
	print('1' + '+1' * (one - 1), end='')
if two > 0:
	if one > 0:
		print('+', end='')
	print('2' + '+2' * (two - 1), end='')
if three > 0:
	if one > 0 or two > 0:
		print('+', end='')
	print('3' + '+3' * (three - 1), end='')


expression = list(input().split('+'))
correct = []
if expression == sorted(expression):
	correct = '+'.join(expression)
	print(correct)
else:
	expression = sorted(expression)
	correct = '+'.join(expression)
	print(correct)


__author__ = 'curiousfool'
n = input()
n = list(n.split('+'))
j = 1
for j in range(len(n)):
	i = j - 1
	key = n[j]
	while i >= 0 and n[i] > key:
		n[i + 1] = n[i]
		i = i - 1
	n[i + 1] = key
s = '+'.join(n)
print(s)


data = sorted(input().split('+'))
print('+'.join(data))


bad_sum = input()
ones = bad_sum.count('1')
twos = bad_sum.count('2')
threes = bad_sum.count('3')
good_sum = '1+' * ones + '2+' * twos + '3+' * threes
print(good_sum[:-1])


def list_input():
	return list(map(int, input().split()))

def multiple_input():
	return map(int, input().split())
s = list(map(int, input().split('+')))
s.sort()
ans = ''
for i in range(len(s)):
	if i == len(s) - 1:
		ans += str(s[i])
	else:
		ans += str(s[i]) + '+'
print(ans)


s = input()
s = [s[i] for i in range(0, len(s), 2)]
s.sort()
s = [s[i] + '+' for i in range(len(s))]
l = ''
for i in range(len(s)):
	l = l + s[i]
print(l[0:len(l) - 1])


(z, zz) = (input, lambda : list(map(int, z().split())))
zzz = lambda : [int(i) for i in stdin.readline().split()]
(szz, graph, mod, szzz) = (lambda : sorted(zz()), {}, 10 ** 9 + 7, lambda : sorted(zzz()))
from string import *
from re import *
from collections import *
from queue import *
from sys import *
from collections import *
from math import *
from heapq import *
from itertools import *
from bisect import *
from collections import Counter as cc
from math import factorial as f
from bisect import bisect as bs
from bisect import bisect_left as bsl
from itertools import accumulate as ac

def lcd(xnum1, xnum2):
	return xnum1 * xnum2 // gcd(xnum1, xnum2)

def prime(x):
	p = ceil(x ** 0.5) + 1
	for i in range(2, p):
		if x % i == 0 and x != 2 or x == 0:
			return 0
	return 1

def dfs(u, visit, graph):
	visit[u] = True
	for i in graph[u]:
		if not visit[i]:
			dfs(i, visit, graph)
print('+'.join((str(i) for i in sorted(list(map(int, stdin.readline().split('+')))))))


xenia = input()
result = '+1' * xenia.count('1') + '+2' * xenia.count('2') + '+3' * xenia.count('3')
print(result[1:])


x = input()
nums = []
ans = ''
for i in range(len(x)):
	if x[i] == '+':
		continue
	elif x[i] != '+':
		nums.append(int(x[i]))
nums.sort()
for n in range(len(nums)):
	ans = ans + str(nums[n]) + '+'
print(ans[:-1])


s = list(map(int, input().split('+')))
a = '+'.join(map(str, sorted(s)))
print(a)


n = input()
k = n.split('+')
k.sort()
t = ''
for i in range(len(k)):
	if i == len(k) - 1:
		t = t + k[i]
	else:
		t = t + k[i] + '+'
print(t)


s = input()
l = s.split('+')
l.sort()
ans = l[0]
for i in range(1, len(l)):
	ans = '%s+%s' % (ans, l[i])
print(ans)


input = list(map(int, input().split('+')))
input.sort()
output = ''
for i in input:
	output += str(i)
	output += '+'
output = output[:-1]
print(output)


s = input()
l = len(s)
a = []
for i in range(0, l, 2):
	a.append(int(s[i]))
a.sort()
ll = len(a)
for j in range(ll - 1):
	print(a[j], end='+')
print(a[-1])


a = list(map(str, input().split('+')))
a.sort()
t = ''
for i in range(len(a)):
	t += a[i]
	if i + 1 < len(a):
		t += '+'
print(t)


d = str(input())
one = 0
two = 0
three = 0
for i in range(len(d)):
	if d[i] == '1':
		one += 1
	if d[i] == '2':
		two += 1
	if d[i] == '3':
		three += 1
for i in range(len(d) // 2):
	if one > 0:
		print('1+', end='')
		one -= 1
	elif two > 0:
		print('2+', end='')
		two -= 1
	elif three > 0:
		print('3+', end='')
		three -= 1
if one > 0:
	print('1', end='')
	one -= 1
elif two > 0:
	print('2', end='')
	two -= 1
elif three > 0:
	print('3', end='')
	three -= 1


ex = sorted(map(int, input().split('+')))
ex.sort()
ex = map(str, ex)
print('+'.join(ex))


ch = input()
list_ch = ch.split('+')
list_ch.sort()
print('+'.join(list_ch))


s = input()
res = ''
n = []
for num in s.split('+'):
	n.append(num)
n.sort()
for i in range(len(n)):
	res += n[i]
	if i != len(n) - 1:
		res += '+'
print(res)


summand = input()
num1 = num2 = num3 = 0
for i in range(0, len(summand), 2):
	if summand[i] == '1':
		num1 += 1
	elif summand[i] == '2':
		num2 += 1
	else:
		num3 += 1
sortedSummand = '1+' * num1 + '2+' * num2 + '3+' * num3
print(sortedSummand[:-1])


s = str(input())
lst = [int(i) for i in s if i != '+']
lst.sort()
for i in range(len(lst)):
	print(lst[i], end='')
	if i != len(lst) - 1:
		print('+', end='')


string = input().strip().split('+')
for i in range(0, len(string)):
	temp = string[i]
	j = i
	while j > 0 and temp < string[j - 1]:
		string[j] = string[j - 1]
		j = j - 1
	string[j] = temp
print('+'.join(string))


def main():
	n = input().split('+')
	n = [int(i) for i in n]
	b = sorted(n)
	for i in range(len(b)):
		if i < len(b) - 1:
			print(b[i], end='+')
		else:
			print(b[i])
main()


n = input()
n = n.replace('+', '')
n = sorted(n)
s = ''
lst = []
for i in n:
	s = i + '+'
	lst.append(s)
	lst1 = ''.join(lst)
print(lst1[:-1])


str = input()
a = str.replace('+', '')
b = sorted(a)
print('+'.join(b))


x = input()
num = []
for i in range(1, len(x) + 1):
	if i % 2 == 1:
		num.append(x[i - 1])
num = sorted(num)
new_num = []
for i in range(0, len(num)):
	new_num.append(num[i])
	new_num.append('+')
print(''.join(new_num[:-1]))


n = input()
a = n[0::2]
b = list(a)
c = sorted(b)
str = ''
for i in range(len(c)):
	str = str + c[i]
print('+'.join(str))


s = input()
l = list(s)
l1 = list()
l2 = list()
for i in range(len(l)):
	if l[i] != '+':
		l1.append(l[i])
l1 = sorted(l1)
for j in range(len(l1)):
	if j == len(l1) - 1:
		l2.append(l1[j])
	else:
		l2.append(l1[j])
		l2.append('+')
s = ''.join(l2)
print(s)


arr = input().split('+')
arr.sort()
for x in arr[:-1]:
	print(x, end='+')
print(arr[-1])


s = input()
one = s.count('1')
two = s.count('2')
three = s.count('3')
sum = ''
for i in range(one):
	sum += '1+'
for i in range(two):
	sum += '2+'
for i in range(three):
	sum += '3+'
sum = sum.rstrip('+')
print(sum)


a = input()
s = []
for i in range(len(a)):
	if i % 2 == 0:
		s.append(a[i])
lst = []
str1 = ''
s = sorted(s)
for j in range(len(s)):
	lst.append(s[j])
	lst.append('+')
for m in lst:
	str1 += str(m)
print(str1[:-1])


str = input()
array = []
for i in range(0, len(str)):
	if str[i] != '+':
		array.append(int(str[i]))
for i in range(0, len(array)):
	for j in range(0, len(array) - 1 - i):
		if array[j + 1] < array[j]:
			k = array[j + 1]
			array[j + 1] = array[j]
			array[j] = k
for i in range(0, len(array) - 1):
	print(array[i], end='+')
print(array[len(array) - 1])


string = input()
Arr = list()
for ch in string:
	if ch.isdigit():
		Arr.append(ch)
Arr.sort()
for idx in range(len(Arr) - 1):
	print(Arr[idx], '+', sep='', end='')
print(Arr[-1])


st = str(input())
lst = []
for (i, j) in enumerate(st):
	if j != '+':
		lst.append(j)
l = ''.join(sorted(lst))
r = list(l)
if len(r) > 1:
	for (i, j) in enumerate(r):
		r[i] = '+' + r[i]
	r[0] = r[0].replace('+', '')
f = ''.join(map(str, r))
print(f)


s = input().split('+')
a = []
for num in s:
	a.append(num)
l = len(a)
for i in range(l - 1):
	for j in range(i + 1, l):
		if a[i] > a[j]:
			t = a[i]
			a[i] = a[j]
			a[j] = t
for i in range(l - 1):
	print(a[i], end='+')
print(a[l - 1])


s = input()
s2 = ''
for i in range(s.count('1')):
	s2 = s2 + '1+'
for i in range(s.count('2')):
	s2 = s2 + '2+'
for i in range(s.count('3')):
	s2 = s2 + '3+'
print(s2[0:len(s2) - 1])


input1 = input('')
lst = []
for i in input1:
	if i != '+':
		lst.append(i)
lst.sort()
check = lst[len(lst) - 1]
for i in range(0, len(lst)):
	if i == len(lst) - 1:
		print(lst[i])
	else:
		print(lst[i], end='+')


s = input()
L = []
for i in s:
	if i == '1':
		L.append(1)
	elif i == '2':
		L.append(2)
	elif i == '3':
		L.append(3)
L.sort()
s1 = ''
for i in range(0, len(L)):
	s1 += str(L[i])
	if i != len(L) - 1:
		s1 += '+'
print(s1)


arr = input().split('+')
sd = sorted(arr)
print('+'.join(sd))


x = []
ans = []
output = ''
x = input().split('+')
for (j, val) in enumerate(x):
	x[j] = int(val)
length = len(x)
for i in range(length):
	ans.append(int(0))

def sort():
	global x
	global ans
	count = [0, 0, 0, 0]
	for i in range(length):
		count[x[i]] = count[x[i]] + 1
	for i in range(1, 4):
		count[i] = count[i] + count[i - 1]
	for i in range(length - 1, -1, -1):
		num = x[i]
		ans[count[num] - 1] = num
		count[num] = count[num] - 1
sort()
for i in range(length):
	if i < length - 1:
		output = output + str(ans[i]) + '+'
	else:
		output = output + str(ans[i])
print(output)


s = input()
p = ''
for i in range(0, len(s), 2):
	p += s[i]
	q = sorted(p)
d = ''
for m in range(0, len(q)):
	d = d + q[m] + '+'
print(d[0:len(d) - 1])


mylist = sorted(list(map(int, input().split('+'))))
print(*mylist, sep='+')


_list = input().split('+')
_list.sort()
out_list = ''
for i in range(len(_list)):
	if i < len(_list) - 1:
		out_list = out_list + _list[i] + '+'
	else:
		out_list = out_list + _list[i]
print(out_list)


data = input()
ar = []
for x in range(len(data)):
	if data[x] == '+':
		continue
	else:
		ar.append(int(data[x]))
data = sorted(ar)
print('+'.join([str(elem) for elem in data]))


a = input()
n = len(a)
b = []
for i in range(0, n):
	if a[i] == '1' or a[i] == '2' or a[i] == '3':
		b.append(int(a[i]))
b.sort()
n = len(b)
c = ''
for i in range(n):
	c = c + str(b[i])
	if i != n - 1:
		c = c + '+'
print(c)


s = input()
arr = []
for i in s:
	if i != '+':
		arr.append(i)
arr2 = sorted(arr)
print('+'.join(arr2))


a = input()
l = []
for i in range(len(a)):
	if a[i].isdigit():
		l.append(a[i])
l.sort()
c = '+'.join(l)
print(c)


x = input()
l = []
for i in range(len(x)):
	if i % 2 == 0:
		l.append(x[i])
l.sort()
for i in range(len(l)):
	if i != len(l) - 1:
		print(l[i] + '+', end='')
	else:
		print(l[i])


user_input = input()
user_input = user_input.split('+')
array = [0, 0, 0]
string = ''
for element in user_input:
	element = int(element) - 1
	array[element] += 1
for i in range(len(array)):
	for j in range(array[i]):
		string += str(i + 1) + '+'
string = string[:-1]
print(string)


a = input()
I = []
for i in range(len(a)):
	if a[i] != '+':
		I.append(int(a[i]))
I.sort()
k = []
for i in range(len(I)):
	k.append(str(I[i]))
	if i != len(I) - 1:
		k.append('+')
for i in k:
	print(i, end='')


inp = input()
x = eval(inp)
y = []
for i in inp:
	if i != '+':
		y.append(int(i))
y.sort()
for i in range(len(y)):
	if i == len(y) - 1:
		print(y[i])
	else:
		print(y[i], '+', sep='', end='')


string = input()
array = string.split('+')
array.sort()
st = ''.join(array)
string_final = '+'.join((st[i:i + 1] for i in range(0, len(st))))
print(string_final)


a = list(map(int, input().split('+')))
b = sorted(a)
res = ''
for i in range(len(b)):
	res += str(b[i])
	if i < len(b) - 1:
		res += '+'
print(res)


nums = [int(c) for c in input().split('+')]
nums.sort()
outputlist = ['+'] * (len(nums) * 2 - 1)
outputlist[0::2] = nums
print(''.join(map(str, outputlist)))


s = input()
l = []
for i in '123':
	c = s.count(i)
	l = l + [i] * c
print('+'.join(l))


exp = input()
output = exp[::2]
output = sorted(output)
print(output[0], end='')
for i in output[1:]:
	print(f'+{i}', end='')
print()


cal = input()
number = cal.split('+')
for i in range(len(number)):
	number[i] = int(number[i])
number = sorted(number)
j = 0
while j < len(number):
	number[j] = str(number[j])
	j = j + 1
answer = '+'.join(number)
print(answer)


s = str(input())
l = len(s)
ss = []
b1 = s.count('1')
b2 = s.count('2')
b3 = s.count('3')
for i in range(b1):
	ss.append('1')
	ss.append('+')
for i in range(b2):
	ss.append('2')
	ss.append('+')
for i in range(b3):
	ss.append('3')
	ss.append('+')
for i in range(l):
	print(ss[i], end='')


n = list(map(int, input('').split('+')))
x = sorted(n)
print(*x, sep='+')


s = input()
l = len(s)
a = []
ans = ''
for i in s:
	if i == '+':
		continue
	a.append(int(i))
a.sort()
for i in a:
	ans += str(i)
	ans += '+'
print(ans[:l])


s = list(input())
s = sorted(s)
r = []
for i in s:
	if i != '+':
		r.append(i)
print(int(r[0]), end='')
for i in range(1, len(r)):
	print('+' + str(int(r[i])), end='')


s = input()
sort_s = sorted(s)
op = ['+']
s = ''
for i in range(0, len(sort_s)):
	if sort_s[i] not in op:
		s = s + sort_s[i]
		s = s + '+'
l = list(s)
d = l.pop()
print(''.join(l))


def rearrange(s):
	s1 = ''
	s = s.split('+')
	if len(s) == 1:
		return s[0]
	else:
		for i in sorted(s):
			s1 += '+' + i
		return s1.strip('+')
s = input()
print(rearrange(s))


def helpful_maths():
	nums = sorted(input().split('+'), key=lambda x: int(x))
	return '+'.join(nums)
print(helpful_maths())


a = input()
x = len(a)
one = 0
two = 0
three = 0
for i in range(0, x, 2):
	if a[i] == '1':
		one += 1
	elif a[i] == '2':
		two += 1
	elif a[i] == '3':
		three += 1
ss = '1+' * one + '2+' * two + '3+' * three
print(ss[:-1])


d = input()
l = []
for i in d.split('+'):
	l.append(int(i))
l.sort()
l1 = []
for x in l:
	l1.append(str(x))
print('+'.join(l1))


s = input()
x = []
for i in range(0, len(s), 2):
	x.append(int(s[i]))
x.sort()
c = 0
for i in range(len(x)):
	print(x[i], end='')
	c += 1
	if c != len(x):
		print('+', end='')


a = str(input())
list1 = []
for i in a:
	if i == '+':
		pass
	else:
		list1.append(int(i))
list1.sort()
list2 = []
for i in list1:
	list2.append(str(i))
	list2.append('+')
for i in list2[:-1]:
	print(i, end='')


m = input()
g = []
for i in range(len(m)):
	if i % 2 == 0:
		g.append(int(m[i]))
for j in range(len(g)):
	for i in range(len(g) - 1):
		if g[i] > g[i + 1]:
			k = g[i]
			g[i] = g[i + 1]
			g[i + 1] = k
for i in range(len(g)):
	if i == 0:
		print(f'{g[i]}', end='')
	else:
		print(f'+{g[i]}', end='')


line = input()
tokens = sorted(map(int, line.split('+')))
print(*tokens, sep='+')


s = input().split('+')
s.sort()
t = ''
for i in s:
	t = t + i + '+'
print(t[0:-1])


str = input()
sort = sorted(str)
i = 0
j = len(sort) - 1
result = []
while i < j:
	result.insert(0, sort[i] + sort[j])
	i += 1
	j -= 1
result.insert(0, sort[j])
print(''.join(result))


x = input()
ar = []
b = []
s = ''
for i in range(0, len(x), 2):
	ar.append(x[i])
ar.sort()
for j in range(0, len(ar)):
	if j == len(ar) - 1:
		b.append(ar[j])
	else:
		b.append(ar[j])
		b.append('+')
print(s.join(b))


command = input()
print('+'.join(sorted(command.split('+'))))


arr = input().split('+')
arr = [int(x) for x in arr]
arr.sort()
new_arr = []
for i in range(len(arr)):
	new_arr.append(arr[i])
	new_arr.append('+')
new_arr = new_arr[:-1]
for i in new_arr:
	print(i, end='')


from sys import stdin

def main():
	a = [int(x) for x in stdin.readline().strip().split('+')]
	b = '+'
	a.sort()
	c = ''
	for i in range(len(a)):
		c += str(a[i])
		if i != len(a) - 1:
			c += b
	print(c.strip())
main()


s = input()
s = s.replace('+', '')
l = []
for i in s:
	l.append(int(i))
l.sort()
s1 = '+'.join((str(e) for e in l))
print(s1)


def numbers(string):
	lis = list(string)
	(i, new) = (0, [])
	while i < len(lis):
		new.append(lis[i])
		i += 2
	new.sort(reverse=False)
	result = ''
	for ele in new:
		result += ele + '+'
	print(result[:len(string)])
numbers(input())


numbers = list(map(str, input().split('+')))
numbers.sort()
i = 0
while i < len(numbers):
	if i != len(numbers) - 1:
		print(numbers[i], end='+')
	else:
		print(numbers[i], end=' ')
	i += 1


def solve(arr):
	s = []
	for x in arr:
		if x != '+':
			s.append(x)
	so = sorted(list(map(int, s)))
	out = ''
	for x in so:
		out += str(x)
		out += '+'
	return out[:-1]

def main():
	inp = input()
	print(solve(inp))
main()


n = input()
l = list(map(str, n.split('+')))
l.sort()
print('+'.join(l))


s = input()
ans = ''
a = sorted(s)
s = ''.join(a).strip('+')
for i in range(len(s)):
	if i == len(s) - 1:
		print(s[i])
	else:
		print(s[i], end='+')


s = input()
numbers = [0, 0, 0]
for c in s:
	if c == '1':
		numbers[0] += 1
	elif c == '2':
		numbers[1] += 1
	elif c == '3':
		numbers[2] += 1
ones = '+'.join(('1' for _ in range(numbers[0])))
twos = '+'.join(('2' for _ in range(numbers[1])))
threes = '+'.join(('3' for _ in range(numbers[2])))
word = ones
if word and twos:
	word = word + '+' + twos
elif not word and twos:
	word = twos
if word and threes:
	word = word + '+' + threes
elif not word and threes:
	word = threes
print(word)


lst = list(map(int, input().split('+')))
lst.sort()
res = '+'.join(map(str, lst))
print(res)


def f(n):
	a = n.split('+')
	return '+'.join(sorted(a))
a = input()
print(f(a))


s = input()
sa = []
if len(s) == 1:
	print(s)
else:
	s = list(s.split('+'))
	s.sort()
	for i in s:
		sa.append(i)
		sa.append('+')
	sa.pop(-1)
	for i in sa:
		print(i, end='')


s = input()
if len(s) == 1:
	print(s)
else:
	s = s.split('+')
	s.sort(reverse=True)
	ch = ''
	for n in s:
		ch = n + '+' + ch
	print(ch[:len(ch) - 1])


st = str(input())
lis = []
for i in range(len(st)):
	if i % 2 == 0:
		lis.append(st[i])
lis.sort()
d = ''
for i in range(len(lis)):
	d = d + str(lis[i]) + '+'
print(d[:len(d) - 1])


def fun(arr, n):
	pass
try:
	s = '+'.join(sorted(input().split('+')))
	print(s)
except:
	pass


s = input()
if '+' in s:
	l = sorted(s.split('+'))
	print('+'.join(l))
else:
	print(s)


A = str(input())
items = A.split('+')
for e in range(len(items)):
	items[e] = int(items[e])
items.sort()
for e in range(len(items)):
	items[e] = str(items[e])
output = '+'.join(items)
print(output)


a = input(' ')
l = list(a)
l = l[::2]
l.sort()
b = '+'.join(l)
print(b)


from collections import deque, Counter, OrderedDict
from heapq import nsmallest, nlargest
from math import ceil, floor, log, log2, sqrt, gcd, factorial

def binNumber(n, size=1):
	return bin(n)[2:].zfill(size)

def iar():
	return list(map(int, input().split()))

def ini():
	return int(input())

def isp():
	return map(int, input().split())

def sti():
	return str(input())
s = sti()
count = [0] * 5
cnt = 0
for c in s:
	if c != '+':
		count[int(c)] += 1
	else:
		cnt += 1
for i in range(1, 4):
	j = count[i]
	for k in range(1, j + 1):
		print(str(i), end='')
		if cnt:
			print('+', end='')
			cnt -= 1


st = input().replace('+', '')
li = list(st)
li.sort()
print('+'.join(li))


s = input()
xlis = s.split('+')
xlis.sort()
print('+'.join(xlis))


s1 = input('')
a = {}
i = 0
while True:
	if i >= len(s1):
		break
	try:
		a[s1[i]] += 1
		i += 2
	except:
		a[s1[i]] = 1
		i += 2
s = ''
a1 = list(a.keys())
a1.sort()
for i in a1:
	if i == '+':
		break
	for j in range(a[i]):
		s += i
		s += '+'
print(s[:-1])


strs = input()
if '+' in strs:
	strs = strs.split('+')
	strs = [int(strs[i]) for i in range(len(strs))]
	lists = sorted(strs)
	strss = ''
	for i in range(len(lists)):
		strss += str(lists[i]) + '+'
	print(strss[0:-1])
else:
	print(strs)


n = input()
l = n.split('+')
s = ''
l.sort()
for i in range(0, len(l)):
	s += l[i]
	if i != len(l) - 1:
		s += '+'
print(s)


s = input()
if len(s) == 1:
	print(s)
else:
	a = s.split('+')
	a.sort()
	print('+'.join(a))


numbers = [int(i) for i in input().split('+')]
numbers.sort()
slist = ''
for i in range(len(numbers) - 1):
	slist += str(numbers[i]) + '+'
slist += str(numbers[-1])
print(slist)


import re
n = input()
n = sorted(re.sub('\\D', '', n))
print('+'.join(n))


numlist = input().split('+')
numlist.sort()
semilist = [digit + '+' for digit in numlist]
print(''.join(semilist)[:-1])


arr = str(input()).split('+')
arr.sort()
print(*arr, sep='+')


x = input()
ans = []
if len(x) == 1:
	print(x)
else:
	y = x.split('+')
	y = list(map(int, y))
	y = sorted(y)
	length = len(y)
	ans.append(y[0])
	for i in range(1, length):
		ans.append('+')
		ans.append(str(y[i]))
		ans = list(map(str, ans))
	print(''.join(ans))


import math, string, itertools, fractions, heapq, collections, re, array, bisect, sys, random, time, copy, functools
sys.setrecursionlimit(10 ** 7)
inf = 10 ** 20
eps = 1.0 / 10 ** 10
mod = 10 ** 9 + 7
dd = [(-1, 0), (0, 1), (1, 0), (0, -1)]
ddn = [(-1, 0), (-1, 1), (0, 1), (1, 1), (1, 0), (1, -1), (0, -1), (-1, -1)]

def LI():
	return [int(x) for x in sys.stdin.readline().split()]

def LI_():
	return [int(x) - 1 for x in sys.stdin.readline().split()]

def LF():
	return [float(x) for x in sys.stdin.readline().split()]

def LS():
	return sys.stdin.readline().split()

def I():
	return int(sys.stdin.readline())

def F():
	return float(sys.stdin.readline())

def S():
	return input()

def pf(s):
	return print(s, flush=True)

def main():
	a = sorted(list(map(int, S().split('+'))))
	return '+'.join(map(str, a))
print(main())


n1 = 0
n2 = 0
n3 = 0
str = input()
for i in range(len(str)):
	if str[i] == '1':
		n1 += 1
	if str[i] == '2':
		n2 += 1
	if str[i] == '3':
		n3 += 1
str_new = '1' * n1 + '2' * n2 + '3' * n3
print('+'.join(str_new))


arr = input().split('+')
y = sorted(arr)
z = '+'.join(y)
print(z)


a = input()
b = list(a)
t = []
for i in range(0, len(a)):
	if b[i] != '+':
		t.append(b[i])
t.sort()
dilimiter = '+'
print(dilimiter.join(t))


number = list(map(str, sorted(list(map(int, input().split('+'))))))
print('+'.join(number))


str = input()
x = str.split('+')
a = [0, 0, 0]
tot = 0
for ch in x:
	a[int(ch) - 1] += 1
tot = a[0] + a[1] + a[2]
ans = ''
for i in range(0, a[0]):
	ans += '1+'
for i in range(0, a[1]):
	ans += '2+'
for i in range(0, a[2]):
	ans += '3+'
print(ans[0:2 * tot - 1])


s1 = sorted(list(map(int, input().split('+'))))
for i in range(len(s1) - 1):
	print(s1[i], '+', end='', sep='')
print(s1[len(s1) - 1])


import sys
S = sys.stdin.readline().strip()
L = S.split('+')
L.sort()
print('+'.join(L))


sum = input().split('+')
sum = sorted(sum)
output = ''
count = 0
for i in sum:
	count += 1
	output += i
	if count != len(sum):
		output += '+'
print(output)


s = str(input())
c = []
for i in range(len(s)):
	if s[i] != '+':
		c.append(int(s[i]))
c = sorted(c)
s = ''
for i in range(len(c)):
	if i != len(c) - 1:
		s = s + str(c[i]) + '+'
	else:
		s = s + str(c[i])
print(s)


s = input()
(a, ch, t) = ([], '', 0)
for i in range(0, len(s)):
	if s[i] != '+':
		a.append(int(s[i]))
a.sort()
for i in range(0, len(s), 2):
	ch += str(a[t])
	if i < len(s) - 1:
		ch += '+'
	t += 1
print(ch)


a = input()
c = []
for i in range(len(a)):
	if a[i].isdigit():
		c.append(a[i])
c.sort()
o = min(c)
for j in range(1, len(c)):
	o = o + '+' + c[j]
print(o)


n = input()
n = sorted(n)
for i in range(len(n) - 1):
	if n[0] == '+':
		n.remove('+')
print(*n, sep='+')


input_list = input().split('+')
input_list = sorted(input_list)
for number in input_list[:-1]:
	print(number, end='+')
print(input_list[-1])


l = []
for i in input().split('+'):
	l.append(int(i))
l.sort()
for i in range(1, len(l) * 2 - 1, 2):
	l.insert(i, '+')
print(*l, sep='')


def expsort(a):
	lis = list(a.split('+'))
	lis.sort()
	return lis
i = input()
print('+'.join(expsort(i)))


A = input()
B = A.split('+')
C = [int(i) for i in B]
C.sort()
D = [str(i) for i in C]
print('+'.join(D))


n = input()
lst = map(int, n.split('+'))
main = list(lst)
arrange = sorted(main)
string = '+'.join((str(elem) for elem in arrange))
print(string)


summans = list(map(int, input().split('+')))
summans = sorted(summans)
summans = [str(i) for i in summans]
result = '+'.join(summans)
print(result)


import sys
s = sys.stdin.readline().strip().split('+')
s.sort()
s = '+'.join(s)
sys.stdout.write(s + '\n')


number = sorted(list(map(int, input().split('+'))))
for i in range(len(number)):
	if i == len(number) - 1:
		print('{}'.format(number[i]), end='')
	else:
		print('{}+'.format(number[i]), end='')


word2 = input()
l = len(word2)
w = []
f = []
v = 0
for i in range(l):
	if v <= i:
		r = word2[v]
		w.append(r)
		v = v + 2
w.sort()
l1 = len(w)
for i in range(l1):
	s = w[i]
	f.append(s)
	f.append('+')
l2 = len(f)
f.pop(l2 - 1)
for i in f:
	print(i, end='')


N = input().split('+')
print('+'.join(['1'] * N.count('1') + ['2'] * N.count('2') + ['3'] * N.count('3')))


import string
w = input().split('+')
w.sort()
print('+'.join(w))


s1 = list(map(int, input().split('+')))
s1.sort()
res = ''
for i in range(0, len(s1)):
	if i < len(s1) - 1:
		res = res + str(s1[i]) + '+'
	elif i == len(s1) - 1:
		res = res + str(s1[i])
print(res)


string = list(map(int, input().split('+')))
string = sorted(string)
print(*string, sep='+')


a = input('').split('+')
b = sorted(a)
zeichen = '+'
ergebnis = zeichen.join(b)
print(ergebnis)


line = input()
list = []
output = ''
for i in line:
	if i == '+':
		continue
	else:
		list.append(i)
list.sort()
for index in range(len(list)):
	if index == len(list) - 1:
		output = output + f'{list[index]}'
		break
	else:
		output = output + f'{list[index]}+'
print(output)


n = input()
l = n.split('+')
l.sort()
s = ''
for i in range(len(l) - 1):
	s = s + str(l[i]) + '+'
s = s + str(l[-1])
print(s)


def main():
	lst = list(map(int, input().split('+')))
	lst.sort()
	lst = list(map(str, lst))
	print('+'.join(lst))
main()


seq = input()
seq = seq.replace('+', '')
seq = list(map(str, seq))
seq.sort()
seq = '+'.join(seq)
print(seq)


s = input()
number = ['1', '2', '3']
l = []
for i in s:
	if i in number:
		l.append(int(i))
l = sorted(l)
string = ''
for i in l:
	string = string + str(i) + '+'
le = len(string) - 1
new_string = string[:le]
print(new_string)


str = input()
lst = []
str1 = ''
for i in range(0, len(str), 2):
	lst.append(str[i])
lst.sort()
for i in range(0, len(lst) * 2 - 2, 2):
	lst.insert(i + 1, '+')
for i in lst:
	str1 += i
print(str1)


s = input()
ns = ''
ones = 0
twos = 0
threes = 0
s = s.split('+')
for char in s:
	if char == '1':
		ones += 1
	elif char == '2':
		twos += 1
	else:
		threes += 1
while ones > 0:
	ns += '1'
	if ones > 1:
		ns += '+'
	ones -= 1
while twos > 0:
	if ns != '' and (not '2' in ns):
		ns += '+'
	ns += '2'
	if twos > 1:
		ns += '+'
	twos -= 1
while threes > 0:
	if ns != '' and (not '3' in ns):
		ns += '+'
	ns += '3'
	if threes > 1:
		ns += '+'
	threes -= 1
print(ns)


def split_into_ascii():
	string = input()
	list1 = string.split('+')
	list2 = list()
	for i in list1:
		a = ord(i)
		list2.append(a)
	return list2

def reverse_ascii(list1):
	list2 = list()
	for j in list1:
		a = chr(int(j))
		list2.extend(a)
	return list2
list1 = split_into_ascii()
list1.sort()
list2 = reverse_ascii(list1)
str1 = str('+').join(list2)
print(str1)


s = input()
ls = s.split('+')
ls.sort()
res = ''
n = len(ls)
for i in range(n):
	if i == n - 1:
		res += ls[i]
	else:
		res += ls[i] + '+'
print(res)


answer = [int(i) for i in input().split('+')]
answer.sort()
i = 0
while i < len(answer):
	print(answer[i], end='')
	if i != len(answer) - 1:
		print('+', end='')
	i += 1


string1 = input()
a = b = c = 0
for i in range(0, len(string1)):
	if string1[i] == '1':
		a = a + 1
	elif string1[i] == '2':
		b = b + 1
	elif string1[i] == '3':
		c = c + 1
string2 = '1+' * a + '2+' * b + '3+' * c
string2 = string2[:-1]
print(string2)


e = input()
a = sorted(e)
y = [i for i in a if i != '+']
print('+'.join(y))


s = input()
l = []
for i in s:
	if i != '+':
		l.append(int(i))
l.sort()
print(*l, sep='+')


test_string = input()
test_string = test_string.replace('+', '')
res = '+'.join(sorted(test_string))
print(str(res))


import sys
s = input()
j = s.replace('+', ' ')
l = list(map(int, j.split()))
l.sort()
j = l
print(j[0], end='')
if len(j) > 2:
	for i in range(len(j) - 2):
		print('+' + str(j[i + 1]), end='')
if len(j) > 1:
	print('+' + str(j[len(j) - 1]))


lst = sorted(input().split('+'))
print(*lst, sep='+')


a = input()
arr = []
l = len(a)
for i in range(l):
	if a[i] != '+':
		arr.append(a[i])
arr.sort()
st = ''
for i in range(len(arr)):
	st += arr[i]
	st += '+'
print(st[0:l])


s = str(input())
l1 = []
for i in range(0, len(s), 2):
	l1.append(s[i])
l2 = sorted(l1)
for i in range(0, len(l2)):
	if i != len(l2) - 1:
		print(l2[i] + '+', end='')
	elif i == len(l2) - 1:
		print(l2[i])


s = str(input())
m = s.split('+')
m.sort()
f = ''
for i in m:
	f = f + i
	f = f + '+'
print(f[0:len(f) - 1])


A = list(input().split('+'))
A.sort()
str1 = '+'.join(A)
print(str1)


s = input()
x = []
y = []
for i in s:
	if i == '+':
		s.replace(i, '')
	else:
		x.append(i)
x.sort()
for i in x:
	y.append(i)
	y.append('+')
y.pop()
d = ''
x1 = d.join(map(str, y))
print(x1)


s = list(map(int, input().split('+')))
for i in range(len(s)):
	for j in range(len(s) - i - 1):
		if s[j] > s[j + 1]:
			temp = s[j]
			s[j] = s[j + 1]
			s[j + 1] = temp
for k in range(len(s)):
	if k == len(s) - 1:
		print(s[k])
	else:
		print(s[k], end='+')


n = input()
n in range(0, 100)
l = []
for i in range(0, len(n), 2):
	l.append(n[i])
s = sorted(l)
d = s[0]
for j in range(1, len(s)):
	d += '+' + s[j]
print(d)


board_math = input().split('+')
for i in range(0, len(board_math)):
	board_math[i] = int(board_math[i])
board_math.sort()
for i in range(0, len(board_math)):
	print(board_math[i], end='')
	if i != len(board_math) - 1:
		print('+', end='')


s = str(input())
n = []
m = []
for i in range(len(s)):
	if i % 2 == 0:
		n.append(s[i])
n.sort()
print('+'.join(map(str, n)))


n = input()
l = []
for i in range(len(n)):
	if (i + 1) % 2 != 0:
		l.append(n[i])
for i in range(len(l)):
	for J in range(len(l)):
		if l[i] < l[J]:
			(l[i], l[J]) = (l[J], l[i])
a = ''
for i in range(len(n)):
	if (i + 1) % 2 != 0:
		a = a + str(l[int(i / 2)])
	else:
		a = a + '+'
print(a)


def main():
	s = sorted(input().split('+'))
	res = s[0]
	for i in range(1, len(s)):
		res = res + '+' + s[i]
	return res
print(main())


a = input().split('+')
map(int, a)
a.sort()
c = 0
for k in a:
	print(k, end='')
	c += 1
	if c == len(a):
		break
	print('+', end='')


inp = input()
list1 = inp.split('+')
list2 = []
temp = ''
temp2 = ''
for item in list1:
	item = int(item)
	list2.append(item)
for item in range(len(list2)):
	temp += str(min(list2))
	list2.remove(min(list2))
for item in temp:
	temp2 += item
	temp2 += '+'
temp2 = list(temp2)
temp2 = temp2[:len(temp2) - 1]
temp3 = ''
for item in temp2:
	temp3 += item
print(temp3)


astr = input()
if '+' not in astr:
	print(int(astr))
else:
	alst = astr.split('+')
	alst.sort(reverse=False)
	output = None
	for i in alst:
		if output is None:
			output = i + '+'
		else:
			output = output + i + '+'
	print(output[:len(output) - 1])


st = list(input())
lst = []
for i in range(0, len(st), 2):
	lst.append(int(st[i]))
lst.sort()
st = ''
for i in lst:
	st += '+' + str(i)
print(st[1:])


op = list(map(int, input().split('+')))
op.sort()
exp = ''.join([str(i) + '+' for i in op])
print(exp[:-1])


a = input()
b = a.replace('+', '')
b = sorted(b)
c = ''.join(b)
d = c.replace('', '+')
print(d[1:-1])


s = input()
l = []
for i in range(0, len(s), 2):
	l.append(int(s[i]))
l.sort()
k = ''
for j in l:
	k += str(j) + '+'
print(k[:len(s)])


k = list(input())
r = len(k) // 2
q = []
for i in range(r + 1):
	q.append(int(k[2 * i]))
q.sort()
print(q[0], end='')
for i in range(1, r + 1):
	print('+' + str(q[i]), end='')


sir = input()
vector = []
index = 0
firstG = []
secondG = []
thirdG = []
final = []
vectorsplit = sir.split('+')
vector = sir.split('+')
for valoare in vectorsplit:
	if valoare == '1':
		firstG.append(1)
	elif valoare == '2':
		secondG.append(2)
	else:
		thirdG.append(3)
final = firstG + secondG + thirdG
rez = []
while index < len(final):
	rez.append(final[index])
	rez.append('+')
	index += 1
rez = rez[:-1]
index = 0
while index < len(rez):
	print(rez[index], sep='', end='')
	index += 1


s = input()
s1 = ''
for letter in '+':
	s = s.replace(letter, '')
l = list(s)
l.sort()
for i in range(len(s)):
	if i < len(s) - 1:
		s1 += l[i] + '+'
	else:
		s1 += l[i]
print(s1)


import string
string = input()
length = len(string)
c1 = string.count('1')
c2 = string.count('2')
c3 = string.count('3')
string1 = ''
for i in range(c1):
	string1 = string1 + '1' + '+'
for i in range(c2):
	string1 = string1 + '2' + '+'
for i in range(c3):
	string1 = string1 + '3' + '+'
char = string1[length]
string1 = string1[:-1]
print(string1)


def merge(a, b):
	res = []
	ai = 0
	bi = 0
	while ai < len(a) and bi < len(b):
		if a[ai] < b[bi]:
			res.append(a[ai])
			ai += 1
		else:
			res.append(b[bi])
			bi += 1
	while ai < len(a):
		res.append(a[ai])
		ai += 1
	while bi < len(b):
		res.append(b[bi])
		bi += 1
	return res

def merge_sort(data):
	if len(data) == 1:
		return data
	middle = len(data) // 2
	return merge(merge_sort(data[:middle]), merge_sort(data[middle:]))
data = input()
data = data.split('+')
print('+'.join(merge_sort(data)))


e = input().split('+')
e = sorted(e)
s = ''
for i in e:
	s = s + i + '+'
if len(e) == 1:
	print(e[0])
else:
	print(s[0:-1])


s = input().split('+')
s.sort()
new = ''
for i in s:
	new += i + '+'
print(new[:len(new) - 1])


g = sorted([int(k) for k in input().split('+')])
print(''.join(map(str, [str(g[n]) + '+' for n in range(len(g) - 1)])) + str(g[-1]))


def func(s):
	n = len(s)
	o = s.split('+')
	o.sort()
	temp = ''.join((str(o[i]) + '+' for i in range(len(o))))
	temp = temp.strip('+')
	print(temp)
inp = input()
func(inp)


import math
s1 = input().split('+')
s1 = sorted(s1)
print('+'.join(s1))


l = list(map(str, input().split('+')))
l.sort()
res = l[0]
for i in range(1, len(l)):
	res += '+' + l[i]
print(res)


s = str(input())
s1 = ''
s2 = ''
s3 = ''
for i in range(0, len(s), 1):
	if s[i] != '+':
		s1 += s[i]
s2 = ''.join(sorted(s1))
for i in range(0, len(s2), 1):
	s3 += s2[i]
	s3 += '+'
print(s3[0:len(s3) - 1])


def makeint(x):
	x = int(x)
	return x

def makestr(y):
	y = str(y)
	return y
print('+'.join(list(map(makestr, sorted(list(map(makeint, input('').split('+'))))))))


exp = input()
cnt = [0] * 3
for c in exp:
	if c == '1':
		cnt[0] += 1
	elif c == '2':
		cnt[1] += 1
	elif c == '3':
		cnt[2] += 1
res = f''
for (i, e) in enumerate(cnt, 1):
	res += f'{i}+' * e
res = res[:-1]
print(res)


a = input()
listt = []
for i in range(len(a)):
	if a[i] != '+':
		listt.append(a[i])
listt.sort()
st = ''
for i in range(len(listt)):
	if i == len(listt) - 1:
		st += str(listt[i])
	else:
		st += str(listt[i]) + '+'
print(st)


l = input()
l = list(l)
n = ''
for i in l:
	if i != '+':
		n = n + i
ar = [int(x) for x in str(n)]
ar.sort()
n1 = '+'
p = ''
for j in ar:
	p = p + str(j)
	p = p + n1
p = list(p)
del p[-1]
q = ''
for x in p:
	q = q + x
print(q)


s = str(input())
k = []
f = list(s)
f = list(filter(lambda x: x != '+', f))
f.sort()
for i in range(0, len(f)):
	k.append(f[i])
	k.append('+')
print(''.join(k[:-1]))


a = sorted(list(map(int, input().replace('+', ' ').split())))
print(*a, sep='+')


s = input()
catslist = []
for index in range(0, len(s), 2):
	catslist.append(int(s[index]))
catslist.sort()
for i in range(len(catslist)):
	if i != len(catslist) - 1:
		print(catslist[i], end='+')
	else:
		print(catslist[i])


import math
from fractions import Fraction as frac
MOD = 1000000000.0 + 7

def gcd(a, b):
	if b == 0:
		return a
	return gcd(b, a % b)

def lcm(a, b):
	return a * b // gcd(a, b)

def no():
	print('NO')
	return

def yes():
	print('YES')
	return

def solve(case_no):
	a = list(map(int, input().split('+')))
	a.sort()
	print(a[0], end='')
	for i in range(1, len(a)):
		print('+', end='')
		print(a[i], end='')
t = 1
for i in range(1, t + 1):
	solve(i)


a = list(map(int, input().split('+')))
a = sorted(a)
w = ''
for i in range(len(a)):
	w = w + str(a[i]) + '+'
w = w[:-1]
print(w)


n = input()
l = []
l2 = []
str = ''
for i in n:
	if i.isdigit():
		l.append(i)
	l.sort()
for j in l:
	str += j
	str += '+'
print(str[0:-1])


a = input()
b = []
count = 0
for i in range(len(a)):
	if a[i] != '+':
		b.append(a[i])
	else:
		count += 1
b.sort()
for i in range(len(b)):
	print(b[i], sep='', end='')
	if count > 0:
		print('+', sep='', end='')
		count -= 1


def getString(count, value):
	res = ''
	for i in range(count):
		res += value + '+'
	return res
w1 = str(input())
count1 = w1.count('1')
count2 = w1.count('2')
count3 = w1.count('3')
res = getString(count1, '1')
res += getString(count2, '2')
res += getString(count3, '3')
print(res[:-1])


lst = input()
if len(lst) == 1:
	output = lst
else:
	lst = lst.split('+')
	while 0 == 0:
		for i in range(len(lst) - 1):
			if int(lst[i]) > int(lst[i + 1]):
				cons = lst[i]
				lst[i] = lst[i + 1]
				lst[i + 1] = cons
		count = 0
		for i in range(len(lst) - 1):
			if lst[i] > lst[i + 1]:
				break
			elif i == len(lst) - 2:
				count = 1
		if count == 1:
			break
	output = lst[0]
	for i in lst[1:]:
		output += '+' + i
print(output)


p = input().split('+')
b = sorted(p)
print(*b, sep='+')


s = input()
nums = ''
for c in s:
	if c != '+':
		nums += c
ans = sorted(nums)
s = ans[0]
for i in range(1, len(ans)):
	s += '+' + ans[i]
print(s)


def main():
	res = ''
	input_str = str(input())
	input_str = sorted(input_str)
	for i in range(0, len(input_str)):
		if input_str[i] != '+':
			res += input_str[i]
			res += '+'
	res = res[:-1]
	print(res)
main()


list1 = input().split('+')
list2 = sorted(list1)
print('+'.join((str(i) for i in list2)))


equation = input()
print('+'.join(list(map(str, sorted(list(map(int, equation.replace('+', ' ').split())))))))


a = [int(i) for i in input().split('+')]
a.sort()
string = ''
for i in a:
	string += '+' + str(i)
print(string[1:])


x = input()
num = []
for i in range(0, len(x), 2):
	num.insert(0, x[i])
num.sort()
for i in range(len(num) - 1):
	print(num[i], end='+')
print(num[len(num) - 1])


Input = input()
Input = Input.split('+')
Input.sort()
print('+'.join(Input))


sum = input()
n = int((len(sum) - 1) / 2) + 1
one = two = three = 0
for i in range(n):
	if sum[2 * i] == '1':
		one += 1
	elif sum[2 * i] == '2':
		two += 1
	else:
		three += 1
new = str()
for i in range(one):
	new += '1+'
for i in range(two):
	new += '2+'
for i in range(three):
	new += '3+'
print(new[:-1])


out = []
e = 0
s = input()
for i in range(len(s)):
	out.append(s[i])
while e < len(out):
	if out[e] == '+':
		out.pop(e)
	e += 1
out.sort()
out = ''.join([str(j) for j in out])
print('+'.join(out))


a = list(input())
l = len(a)
c = ''
i = 0
b = []
while i < l:
	b.append(a[i])
	i = i + 2
b.sort()
c = '+'.join(b)
print(c)


l = list(map(int, input().split('+')))
l.sort()
leng = len(l)
for x in range(leng):
	if x == leng - 1:
		print(l[x])
	else:
		print(l[x], end='+')


def bubbleSort(arr):
	n = len(arr)
	for i in range(n - 1):
		for j in range(0, n - i - 1):
			if arr[j] > arr[j + 1]:
				(arr[j], arr[j + 1]) = (arr[j + 1], arr[j])
	return arr
inp = inp = list(map(int, input().split('+')))
ans = map(str, bubbleSort(inp))
s = '+'
print(s.join(ans))


s = sorted(list(map(int, input().split('+'))))
l = len(s)
for i in range(1, l):
	print(s[i - 1], '+', sep='', end='')
print(s[l - 1])


a = input().split('+')
a.sort()
s = ''
for c in a:
	s += c + '+'
print(s[:-1])


z = input().split('+')
y = [int(x) for x in z]
y.sort()
x = [str(d) for d in y]
print('+'.join(x))


s = input()
li = s.split('+')
li.sort()
o = '+'
si = o.join(li)
print(si)


n = list(map(int, input().replace('+', ' ').strip().split()))
n.sort()
s = ''
for i in n:
	s += str(i)
	s += '+'
print(s[:-1])


t = input()
num = []
for i in t:
	if i != '+':
		num.append(int(i))
num.sort()
l = len(num)
c = 0
for i in num:
	print(i, end='')
	c += 1
	if c == l:
		break
	print('+', end='')


s = input()
arr = []
for i in s:
	if i in '0123456789':
		arr.append(int(i))
arr.sort()
string = ''
for i in arr:
	string += str(i)
	string += '+'
print(string[:-1])


l = list(input().split('+'))
l.sort()
ans = ''
for i in l:
	ans += i + '+'
print(ans[:-1])


x = input().split('+')
s = ''
for i in range(len(x)):
	for j in range(i + 1, len(x)):
		if x[j] < x[i]:
			(x[j], x[i]) = (x[i], x[j])
s = '+'.join(x)
print(s)


str = input().replace('+', ' ')
str1 = str.split()
str1.sort(key=int)
count = 0
for i in str1:
	if count == 0:
		print(i, end='')
		count = 1
	else:
		print('+' + i, end='')


inp_st = list(input())
op_st = ''
dig = [int(i) for i in inp_st if i != '+']
dig = sorted(dig)
while dig:
	op_st += str(dig.pop(0))
	if dig:
		op_st += '+'
print(op_st)


s = input()
list1 = []
list2 = ['+']
list3 = []
for char in s:
	if char not in list2:
		list1.append(char)
list1.sort()
str2 = ''.join(list1)
for char in str2:
	list3.append(char)
	list3.append('+')
list3.pop()
str3 = ''.join(list3)
print(str3)


old_list = []
old_list.append(list(map(int, input().split('+'))))
new_list = old_list[0]
s = ''
ne_list = len(new_list) * ['']
for i in range(len(ne_list)):
	ne_list[i] = min(new_list)
	new_list.remove(min(new_list))
for i in range(len(ne_list)):
	s = s + '+' + str(ne_list[i])
s = s[1:]
print(s)


n = input()
n1 = list(n.split('+'))
n2 = sorted(n1)
print('+'.join(n2))


st = input()
lt = list(st)
new_list = []
l = len(st)
temp = 1
j = 0
i = 0
for i in range(l):
	if '+' in lt:
		lt.remove('+')
nlt = lt
nlt = list(map(int, nlt))
for i in range(len(nlt)):
	for j in range(i + 1, len(nlt)):
		if nlt[i] > nlt[j]:
			(nlt[i], nlt[j]) = (nlt[j], nlt[i])
makeitastring = '+'.join(map(str, nlt))
print(makeitastring)


output = []
numbers = input()
numbers = [int(x) for x in numbers if not x == '+']
count_array = [0, 0, 0]
for number in numbers:
	count_array[number - 1] += 1
for (i, n) in enumerate(count_array):
	while n:
		output.append(i + 1)
		output.append('+')
		n -= 1
output.pop()
for item in output:
	print(item, end='')
print('\n', end='')


def solve():
	print('+'.join(sorted(input().split('+'))))

def main():
	t = 1
	for _ in range(t):
		solve()
main()


def bubble_sort(list):
	n = len(list)
	for pass_index in range(n - 1, 0, -1):
		for i in range(pass_index):
			if list[i] > list[i + 1]:
				(list[i], list[i + 1]) = (list[i + 1], list[i])

def print_result(s):
	n = len(s)
	for i in range(n):
		if i == n - 1:
			print(s[i])
		else:
			print(s[i], end='+')
s = list(map(int, input().split('+')))
bubble_sort(s)
print_result(s)


s = input()
a = []
for i in range(len(s)):
	if s[i].isdigit():
		a.append(int(s[i]))
a.sort()
b = ''
for i in range(len(a)):
	b += str(a[i])
	if i != len(a) - 1:
		b += '+'
print(b)


s = input()
arr = []
for i in s:
	if i.isnumeric():
		arr.append(i)
arr = sorted(arr)
print('+'.join(arr))


s = str(input())
sum1 = s.count('1')
sum2 = s.count('2')
sum3 = s.count('3')
r = ''
if sum2 > 0 or sum3 > 0:
	r = r + '1+' * sum1
else:
	r = r + '1+' * (sum1 - 1)
	r = r + '1'
if sum3 > 0:
	r = r + '2+' * sum2
elif sum2 > 0:
	r = r + '2+' * (sum2 - 1)
	r = r + '2'
if sum3 > 0:
	r = r + '3+' * (sum3 - 1)
	r = r + '3'
print(r)


expression = input()
expression_of_three = ''
expression_of_two = ''
expression_of_one = ''
for c in expression:
	if c == '1':
		expression_of_one += '+1'
	elif c == '2':
		expression_of_two += '+2'
	elif c == '3':
		expression_of_three += '+3'
result = expression_of_one + expression_of_two + expression_of_three
result = result[1:]
print(result)


strg = input()
arr = []
values = []
new = []
for letters in strg:
	arr.append(letters)
for i in range(0, len(arr), 2):
	x = arr[i]
	y = int(x)
	values.append(y)
values.sort()
out = '+'.join(map(str, values))
print(out)


expression = input()
A = [0] * 3
for x in expression:
	if x == '1':
		A[0] += 1
	elif x == '2':
		A[1] += 1
	elif x == '3':
		A[2] += 1
done_expression = ''
for i in range(A[0]):
	done_expression += '1' + '+'
for i in range(A[1]):
	done_expression += '2' + '+'
for i in range(A[2]):
	if i != A[2]:
		done_expression += '3' + '+'
k = len(done_expression) - 1
print(done_expression[:k])


s = input()
summands = []
for char in s:
	if char.isnumeric():
		summands.append(int(char))
count = 3 * [0]
for num in summands:
	count[num - 1] += 1
ordered_sum = ''
for (index, num) in enumerate(count):
	for _ in range(num):
		ordered_sum += str(index + 1) + '+'
ordered_sum = ordered_sum[0:len(ordered_sum) - 1]
print(ordered_sum)


A = list(map(int, input().split('+')))
A.sort()
for i in range(len(A) - 1):
	print(str(A[i]) + '+', end='')
print(str(A[-1]))


st = input().split('+')
st = [int(i) for i in st]
n1 = st.count(1)
n2 = st.count(2)
n3 = st.count(3)
total = n1 + n2 + n3
for i in range(0, total):
	if n1 != 0:
		print(1, end='')
		n1 -= 1
	elif n2 != 0:
		print(2, end='')
		n2 -= 1
	elif n3 != 0:
		print(3, end='')
		n3 -= 1
	if i < total - 1:
		print('+', end='')


n = input()
s = n.split('+')
s.sort()
d = ''
for i in s:
	c = i + '+'
	d = d + c
print(d[:-1])


inp = list(input().split('+'))
print('+'.join(sorted(inp)))


def solve():
	eq = input()
	operands = eq.split('+')
	operands.sort()
	ans = operands[0]
	for op in operands[1:]:
		ans = ans + '+' + op
	print(ans)

def main():
	solve()
main()


s = str(input())
x = s[0::2]
res = '+'.join(sorted(x))
print(res)


line = input()
a = []
for i in range(0, len(line), 2):
	a += list(line[i])
a.sort()
print('+'.join(a))


f_line = input()
f_arr = [y for y in f_line.split('+')]
f_arr.sort()
print('+'.join(f_arr))


a = input().split('+')
a.sort()
x = 1
for i in range(1, len(a)):
	a.insert(x, '+')
	x = x + 2
b = ''.join(a)
print(b)


s = input()
l = s.split('+')
s = ''
s = s.join(l)
s = sorted(s)
j = '+'
j = j.join(s)
print(j)


a = input()
a = a.split('+')
a = sorted(a)
b = 0
a = '+'.join(a)
print(a, sep='+')


s = input()
s = s.replace('+', '')
s = sorted(s)
res = ''
for i in s:
	res += i
	res += '+'
print(res[0:len(res) - 1])


def word_counter(word, item):
	result = 0
	for i in range(len(word)):
		if word[i] == item[0]:
			if word[i:i + len(item)] == item:
				result += 1
	return result
addition = input()
n1 = word_counter(addition, '1')
n2 = word_counter(addition, '2')
n3 = word_counter(addition, '3')
result = n1 * '1' + n2 * '2' + n3 * '3'
print('+'.join(result))


x = input()
arr = x.split('+')
arr.sort()
if len(arr) == 1:
	s = ' '
	s = s.join(arr)
	print(s)
	pass
else:
	s = '+'
	s = s.join(arr)
	print(s)


x = str(input())
inp1 = []
for i in range(len(x)):
	jk = x[i]
	inp1.append(jk)
num = []
for j in range(len(inp1)):
	if j % 2 == 0:
		lk = int(inp1[j])
		num.append(lk)
n_num = num.sort()
nm = []
for i in num:
	ki = str(i) + '+'
	nm.append(ki)
af = nm[len(nm) - 1]
nm.pop(len(nm) - 1)
hj = af[0]
nm.append(hj)
ans = ''.join(nm)
print(ans)


a = input().split('+')
c = sorted(list(map(int, a)))
d = list(map(str, c))
print('+'.join(d))


x = input()
li = ['+']
nX = []
for i in range(len(x)):
	if x[i] not in li:
		nX += x[i]
for j in range(len(nX) - 1):
	for i in range(len(nX) - 1):
		if nX[i] > nX[i + 1]:
			temp = nX[i]
			nX[i] = nX[i + 1]
			nX[i + 1] = temp
for i in range(0, len(nX)):
	if i == 0:
		print(nX[i], end='')
	else:
		print('+' + nX[i], end='')


n = input()
a = []
for i in n:
	if i.isdigit():
		a.append(i)
if len(a) > 1:
	print('+'.join(sorted(a)))
else:
	print(a[0])


s = input()
l = s.split('+')
l.sort()
l = tuple(l)
print('+'.join(l))


str1 = input()
list1 = str1.split('+')
list1.sort()
str1 = '+'.join(list1)
print(str1)


p = input()
r = len(p)
count1 = 0
count2 = 0
count3 = 0
for i in range(0, r, 2):
	if p[i] == '1':
		count1 += 1
	elif p[i] == '2':
		count2 += 1
	elif p[i] == '3':
		count3 += 1
x = ''
i = j = k = 0
while i < count1:
	x = x + '+1'
	i = i + 1
while j < count2:
	x = x + '+2'
	j = j + 1
while k < count3:
	x = x + '+3'
	k = k + 1
y = x[1:]
print(y)


from sys import stdin, stdout

def main():
	string = stdin.readline().strip()
	values = string.split('+')
	values.sort()
	stdout.write('+'.join(values) + '\n')
main()


s = input()
l = list(map(int, s.strip().split('+')))
l.sort()
st = ''
for i in range(len(l) - 1):
	st = st + str(l[i]) + '+'
st = st + str(l[-1])
print(st)


line = input()
n = int((len(line) + 1) / 2)
nums = [int(line[2 * x]) for x in range(n)]
nums.sort()
output = ''
for a in nums:
	output += str(a) + '+'
output = output[:-1]
print(output)


stri = input().strip().split('+')
stri = [str(x) for x in stri]
stri.sort()
print('+'.join(stri))


a = input()
array = a.split('+')
sorten_array = ''
for i in range(len(array)):
	array[i] = int(array[i])
for i in range(len(array)):
	for j in range(i + 1, len(array)):
		if array[i] > array[j]:
			(array[i], array[j]) = (array[j], array[i])
for i in range(0, len(array)):
	if i == 0:
		sorten_array += str(array[i])
	else:
		sorten_array += '+' + str(array[i])
print(sorten_array)


import sys
import math as mt

def get_ints():
	return map(int, sys.stdin.readline().strip().split())

def get_array():
	return list(map(int, sys.stdin.readline().strip().split()))

def printwsp(*args):
	return print(*args, end='')

def printsp(*args):
	return print(*args, end=' ')

def printchk(*args):
	return print(*args, end='tst, ')
MOD = int(1000000000.0 + 7)
BABYMOD = 998244353

def countSum(n):
	res = 0
	while n:
		res += n % 10
		n //= 10
	return res
li = list(map(int, input().split('+')))
li.sort()
for i in range(len(li)):
	if i:
		print('+', end='')
	print(li[i], end='')


exp = input().split('+')
exp.sort()
print(*exp, sep='+')


s = input().split('+')
l = 0
h = len(s) - 1
m = 0
S = ''
while m <= h:
	if s[m] == '1':
		(s[l], s[m]) = (s[m], s[l])
		l += 1
		m += 1
	elif s[m] == '2':
		m += 1
	else:
		(s[m], s[h]) = (s[h], s[m])
		h -= 1
print('+'.join(s))


s = list(input().split('+'))
s.sort()
numList = s
separator = '+'
print(separator.join(numList))


s = input()
l = []
count = 0
for i in range(0, len(s)):
	if s[i] != '+':
		l.append(s[i])
	else:
		count += 1
l.sort()
y = '+'
y = y.join(l)
print(y)


s = input().split('+')
s = list(sorted(s))
s1 = []
c = 0
for i in s:
	if i == s[len(s) - 1] and c == len(s) - 1:
		s1 += i
		break
	else:
		s1 = s1 + [i] + ['+']
		c += 1
for i in s1:
	print(i, end='')


a = input()
l = []
for i in a:
	if i == '+':
		pass
	else:
		l.append(i)
l.sort()
for i in range(len(l)):
	if i == len(l) - 1:
		print(l[i])
	else:
		print(l[i], end='+')


x = input().split('+')
x.sort()
e = x[-1]
co = 1
m = x.index(e)
n = x.count(e)
while co < n:
	m = x.index(e, m + 1)
	co += 1
z = ''
c = 0
for q in x:
	if c != m:
		z = z + q + '+'
	else:
		z = z + q
	c += 1
print(z)


s = input()
lis = []
str = s[0:len(s):2]
for i in range(len(str)):
	lis.append(str[i])
lis.sort()
sep = '+'
print(sep.join(lis))


st = input()
num = st.split('+')
num.sort()
n = len(num)
i = 0
for i in range(n - 1):
	print(num[i], end='+')
print(num[n - 1])


l = sorted(list(map(str, input())))
l = l[len(l) // 2:]
s = ''
for i in l:
	s += i + '+'
print(s[0:len(s) - 1])


a = [int(_) for _ in input().split('+')]
a.sort()
n = len(a)
if n == 1:
	print(a[0])
else:
	s = ''
	for i in range(n):
		if i == n - 1:
			s += str(a[i])
		else:
			s = s + str(a[i]) + '+'
	print(s)


s = input()
l = list(s)
b = []
for j in l:
	if j != '+':
		b.append(j)
b.sort()
for i in range(0, len(b) - 1):
	print(b[i] + '+', end='')
print(b[len(b) - 1])


s = input()
arr = []
neg = 0
for i in s:
	if i != '+':
		arr.append(i)
	else:
		neg += 1
		arr.append('-')
arr.sort()
a = arr[neg:]
for i in range(0, len(a) - 1):
	a[i] = a[i] + '+'
print(''.join(a))


s = input()
ar = []
for i in s:
	if i != '+':
		ar.append(i)
ar.sort()
t = ''
for i in ar:
	t = t + i + '+'
t = t[:-1]
print(t)


s = input()
one = 0
two = 0
three = 0
for char in s:
	if char == '1':
		one += 1
	elif char == '2':
		two += 1
	elif char == '3':
		three += 1
result = ''
for i in range(one):
	result += '1+'
for i in range(two):
	result += '2+'
for i in range(three):
	result += '3+'
result = result[:-1]
print(result)


equation = list(input())
while '+' in equation:
	equation.remove('+')
equation.sort()
sorted_string = ''
index = 0
for e in equation:
	if index != len(equation) - 1:
		sorted_string += e + '+'
	else:
		sorted_string += e
	index += 1
print(sorted_string)


a = list(input())
for i in range(len(a)):
	for j in range(len(a) - i - 1):
		if a[j] == '+':
			continue
		elif a[j] > a[j + 2]:
			(a[j], a[j + 2]) = (a[j + 2], a[j])
s = ''
for i in a:
	s = s + i
print(s)


s = input()
c1 = s.count('1')
c2 = s.count('2')
c3 = s.count('3')
print('+'.join('+'.join('1' * c1) + '+'.join('2' * c2) + '+'.join('3' * c3)).replace('+++', '+'))


s = input('')
l = [1, 2, 3]
t = ''
m = []
x = []
for i in s:
	if i != '+':
		m.append(i)
m.sort()
for j in m:
	t = t + j + '+'
j = len(t)
print(t[0:j - 1])


text = str(input())
answer = str()
result = []
for number in text:
	if number != '+':
		result.append(int(number))
result.sort()
for number in result:
	answer = answer + str(number) + '+'
answer = answer[:len(answer) - 1]
print(answer)


data = input()
count1 = data.count('1')
count2 = data.count('2')
count3 = data.count('3')
ans = ''
if count1 > 0:
	ans += ('+' + '1') * count1
if count2 > 0:
	ans += ('+' + '2') * count2
if count3 > 0:
	ans += ('+' + '3') * count3
print(ans.strip('+'))


s = str(input())
numbers = list(sorted([int(x) for x in s if x not in ['+']]))
output = []
j = 1
for i in range(len(numbers)):
	output.append(str(numbers[i]))
	if j < len(s):
		output.append(s[j])
	j += 2
print(''.join(output))


s = input()
L = []
for i in range(0, len(s), 2):
	L.append(int(s[i]))
L.sort()
newstr = ''
done = 0
for j in L:
	if j == L[0] and done != 1:
		newstr += str(j)
		done = 1
	else:
		newstr += '+' + str(j)
print(newstr)


def helpMath(inp):
	inp = sorted(inp)
	temp = str(inp[0])
	for i in range(1, len(inp)):
		temp = temp + '+' + str(inp[i])
	return temp
inp = [int(i) for i in input().split('+')]
print(helpMath(inp))


shi = str(input())
shi = shi.replace('+', '')
a = shi.replace('2', '')
a = a.replace('3', '')
a = int(len(a))
b = shi.replace('1', '')
b = b.replace('3', '')
b = int(len(b))
c = shi.replace('1', '')
c = c.replace('2', '')
c = int(len(c))
output = str('1' * a + '2' * b + '3' * c)
output = output.replace('', '+')
output = output.rstrip('+')
output = output.lstrip('+')
print(output)


maths = list(map(int, input().split('+')))
maths.sort()
maths = list(map(str, maths))
print('+'.join(maths))


import sys

def main():
	nums = [int(i) for i in sys.stdin.readline().split('+')]
	print('+'.join([str(n) for n in sorted(nums)]))
main()


n = input()
l = [i for i in n]
for i in l:
	if i == '+':
		l.remove('+')
l.sort()
print('+'.join(l))


a = sorted(list(input()))
s = []
for i in a:
	if i != '+':
		s.append(i)
		s.append('+')
n = ''.join(map(str, s))
print(n[:len(n) - 1])


summa = input()
itog = summa.replace('+', '')
itog = sorted(itog)
while len(itog) > 1:
	print(itog[0] + '+', end='')
	del itog[0]
print(itog[0])


s = list(map(int, input().split('+')))
n = len(s)
st = ''
for i in range(n):
	for j in range(n):
		if s[j] > s[i]:
			c = s[i]
			s[i] = s[j]
			s[j] = c
for i in range(n - 1):
	st = st + str(s[i]) + '+'
st = st + str(s[n - 1])
print(st)


s = input()
n1 = n2 = n3 = 0
for x in range(0, len(s), 2):
	if s[x] == '1':
		n1 += 1
	elif s[x] == '2':
		n2 += 1
	else:
		n3 += 1
final = '1+' * n1 + '2+' * n2 + '3+' * n3
print(final[:-1])


lis = list(input().split('+'))
lis = sorted(lis)
print('+'.join(lis))


def main():
	s = input().split('+')
	s.sort(key=int)
	for c in s[:-1]:
		print(c + '+', end='')
	print(s[-1])
main()


a = str(input())
s = list(a)
a = []
for i in range(0, len(s), 2):
	a.append(s[i])
x = sorted(a)
m = list('+'.join(x))
print(''.join(m))


from sys import stdin, stdout

def main():
	numbers = list(map(int, stdin.readline().rstrip().split('+')))
	numbers.sort()
	output = ''
	output = output + str(numbers[0])
	for index in range(1, len(numbers)):
		output = output + '+' + str(numbers[index])
	stdout.write(output + '\n')
main()


nums = input().split('+')
nums = sorted(nums)
for i in range(len(nums) - 1):
	print(nums[i], end='+')
print(nums[len(nums) - 1])


a = [str(i) for i in input()]
j = 0
k = 0
while j < len(a):
	k = j + 2
	while k < len(a):
		if int(a[j]) > int(a[k]):
			temp = a[k]
			a[k] = a[j]
			a[j] = temp
			k += 2
		else:
			k += 2
	j += 2
b = ''
m = 0
while m < len(a):
	b += a[m]
	m += 1
print(b)


s = [int(i) for i in input().split('+')]
s.sort()
for i in range(len(s)):
	print(str(s[i]), end='')
	if i < len(s) - 1:
		print('+', end='')
	else:
		break


a = str(input())
x = []
t = 0
for i in range(0, len(a) // 2 + 1):
	x.append(int(a[t]))
	t += 2
x.sort()
string = ''
for i in range(len(x) - 1):
	string += str(x[i]) + '+'
string += str(x[-1])
print(string)


s = input()
m = ''
for i in '123':
	if i in s:
		m = m + i * s.count(i)
	elif i in s:
		m = m + i * s.count(i)
	elif i in s:
		m = m + i * s.count(i)
v = ''
for c in m:
	v = v + '+' + c
print(v[1:])


from _operator import index

def main(str1):
	mylist = str1.split('+')
	mylist = sorted(mylist)
	res = ''
	for (ind, i) in enumerate(mylist):
		if len(mylist) == 1:
			print(i)
		elif ind < len(mylist) - 1:
			res = res + i + '+'
		else:
			res = res + i
	print(res)
str1 = input()
main(str1)


def ksenya(s):
	new = list()
	for elem in s:
		if elem != '+':
			new.append(elem)
	z = sorted([int(i) for i in new])
	w = ''.join([str(j) for j in z])
	return '+'.join(w)
t = input()
print(ksenya(t))


b = list(str(input()))
a = list(filter('+'.__ne__, b))
a = list(map(int, a))
a.sort()
a = list(map(str, a))
print('+'.join(a))


def SWAP(string, i, j):
	lst = list(string)
	(lst[i], lst[j]) = (lst[j], lst[i])
	return ''.join(lst)
string = input()
for i in range(0, len(string), 2):
	for j in range(i, len(string), 2):
		if ord(string[i]) > ord(string[j]):
			string = SWAP(string, i, j)
print(string)


s = input()
(ones, twos, threes) = (0, 0, 0)
for c in s:
	if c == '1':
		ones += 1
	elif c == '2':
		twos += 1
	elif c == '3':
		threes += 1
ans = []
for i in range(ones):
	ans.append('1')
	ans.append('+')
for i in range(twos):
	ans.append('2')
	ans.append('+')
for i in range(threes):
	ans.append('3')
	ans.append('+')
ans.pop()
ans = ''.join(ans)
print(ans)


a = input()
nums = [int(n) for n in a.split('+')]
nums = sorted(nums)
print(*nums, sep='+')


string1 = input()
dict1 = {'1': 0, '2': 0, '3': 0}
for i in string1:
	if i in dict1:
		dict1[i] += 1
l1 = ['1' * dict1['1'] + '2' * dict1['2'] + '3' * dict1['3']]
l2 = []
for i in l1[0]:
	l2.append(i)
print('+'.join(l2))


i = input()
nums = sorted(map(int, i.split('+')))
output = ''
for x in nums:
	output += str(x) + '+'
print(output[:-1])


summation = input().split('+')
summation.sort()
print('+'.join(summation))


a = input().split('+')
for j in range(len(a)):
	for i in range(len(a) - 1):
		if int(a[i]) > int(a[i + 1]):
			k = a[i]
			a[i] = a[i + 1]
			a[i + 1] = k
print('+'.join(a))


l = input().split('+')
l.sort()
s = ''
for item in l:
	s += item + '+'
print(s[:len(s) - 1])


a = input()
(x, y, z) = (0, 0, 0)
for i in range(0, len(a), 2):
	if a[i] == '1':
		x += 1
	elif a[i] == '2':
		y += 1
	else:
		z += 1
aa = '1+' * x + '2+' * y + '3+' * z
print(aa[:-1])


s1 = str(input())
l = len(s1)
l2 = int((l + 1) / 2)
c1 = list('-') * l2
s = 0
for m in range(0, l, 2):
	c1[s] = s1[m]
	s += 1
c1.sort()
t = '+'.join(c1)
print(t)


s = input()
n = []
for i in range(0, len(s), 2):
	n.append(s[i])
n.sort()
m = len(n)
j = m
for k in range(1, len(s), 2):
	n.insert(k, '+')
if m == 1:
	print(s)
else:
	n = ''.join(n)
	print(n)


x = ''
m = 0
n = input().split('+')
n.sort()
for i in n:
	if m == 0:
		x = x + '' + i
		m = m + 1
	else:
		x = x + '+' + i
print(x)


import sys
print('+'.join(map(str, sorted(map(int, sys.stdin.readline().strip().split('+'))))))


s = input()
d = [int(x) for x in s.split('+')]
d.sort()
if len(d) == 1:
	print(d[0])
else:
	e = [str(d[i]) + '+' for i in range(len(d) - 1)]
	e.append(str(d[-1]))
	print(''.join(e))


add = input()
l = []
for i in range(len(add)):
	if i % 2 == 0:
		l.append(add[i])
l.sort()
print('+'.join(l))


s = str(input())
n = len(s)
a = []
for i in range(0, n, 2):
	a.append(int(s[i]))
a.sort()
res = ''
for i in range(0, len(a) - 1):
	res = res + str(a[i]) + '+'
res = res + str(a[len(a) - 1])
print(res)


a = input()
s = []
for char in a:
	if char in '0123456789':
		s.append(char)
s.sort()
print('+'.join(s))


string = input()
one = string.count('1')
two = string.count('2')
three = string.count('3')
sol = '1+' * one + '2+' * two + '3+' * three
print(sol[:-1])


a = list((int(a) for a in input().split('+')))
a.sort()
for i in range(len(a) - 1):
	print(a[i], end='+')
print(a.pop())


a = input()
j = 0
c = []
d = []
e = ''
for i in range(0, int((len(a) + 1) / 2)):
	c.append(int(a[i * 2]))
c.sort()
for i in range(0, len(c)):
	if i == len(c) - 1:
		e = e + str(c[i])
	else:
		e = e + str(c[i]) + '+'
print(e)


c = input()
signo = '+'
n = ''
k = 0
while k < len(c):
	if c[k] not in signo:
		n = n + c[k]
	k = k + 1
n = list(n)
n.sort()
n = ''.join(n)
r = 0
m = ''
while r < len(n):
	if r == len(n) - 1:
		m = m + n[r]
		r = r + 1
	else:
		m = m + n[r] + signo
		r = r + 1
print(m)


def sol():
	exp = input()
	l = []
	for i in exp:
		if i != '+':
			l.append(i)
	z = sorted(l)
	f = []
	for j in range(len(z)):
		f.append(z[j])
		f.append('+')
	for k in range(len(f) - 1):
		print(f[k], end='')
try:
	sol()
except:
	pass


vars = input().split('+')
print('+'.join(sorted(vars)))


string = input()
l = string.split('+')
l.sort()
result = ''
for i in range(len(l)):
	result += l[i]
	if i != len(l) - 1:
		result += '+'
print(result)


s = list(input())
p = s.count('+')
for i in range(p):
	s.remove('+')
l = len(s)
for i in range(l):
	s[i] = int(s[i])
s.sort()
for i in range(l):
	print(s[i], end='')
	if i != l - 1:
		print('+', end='')


x = input()
x.split()
y = []
z = ''
large = ''
for i in x:
	if i == '+':
		continue
	else:
		y.append(i)
y.sort()
for j in y:
	z = z + '+' + j
print(z[1:])


sum_str = input()
sum_list = [x for x in sum_str]
sum_list.sort()
sum_str = '' + sum_list[int(len(sum_list) / 2)]
for i in range(int(len(sum_list) / 2) + 1, len(sum_list)):
	sum_str = sum_str + '+' + sum_list[i]
print(sum_str)


n = input()
l = list()
for i in n[::2]:
	l.append(i)
l = sorted(l)
print('+'.join(l))


a = input().split('+')
a.sort(reverse=False)
b = '+'
print(b.join(a))


import sys
lst = input().split('+')
lst.sort()
n = len(lst)
for i in range(n - 1):
	sys.stdout.write(lst[i] + '+')
sys.stdout.write(lst[n - 1])


arr = list(map(int, input().split('+')))
arr.sort()
res = ''
for elem in arr:
	res += str(elem) + '+'
print(res.strip('+'))


def helpful(s):
	L = []
	for i in range(len(s)):
		if not s[i] == '+':
			L.append(int(s[i]))
	L = quicksort(L)
	n = ''
	for things in L:
		n += '+' + str(things)
	return n[1:]

def quicksort(A):
	n = len(A)
	if n == 0:
		return A
	else:
		p = A[(n - 1) // 2]
		A_p = []
		A_n = []
		A_l = []
		for things in A:
			if things < p:
				A_n.append(things)
			elif things > p:
				A_p.append(things)
			else:
				A_l.append(things)
		return quicksort(A_n) + A_l + quicksort(A_p)
s = str(input())
print(helpful(s))


x = input()
y = x.split('+')
y.sort()
bh = ''
for i in y[:-1]:
	x = i + '+'
	bh = bh + x
bh = bh + y[-1]
print(bh)


n = input()
a = n.split('+')
b = []
for i in range(len(a)):
	b.append(int(a[i]))
c = sorted(b)
m = []
for i in range(len(c)):
	m.append(str(c[i]))
d = '+'.join(m)
print(d)


sumstr = input()
if len(sumstr) == 1:
	k = int(sumstr)
	print(k)
else:
	lst = sorted([str(i) for i in sumstr.split('+')])
	sumfinal = ''
	for a in range(0, len(lst) - 1):
		sumfinal = sumfinal + lst[a] + '+'
	sumfinal = sumfinal + lst[len(lst) - 1]
	print(sumfinal)


data = input()
data = list(data)
a = []
for x in data:
	if x != '+':
		a.append(int(x))
a.sort()
b = [str(x) for x in a]
ans = '+'.join(b)
print(ans)


test = input()
test = test.replace('+', '')
ordered = ''.join(sorted(test))
ordered = ordered.replace('', '+')
print(ordered[1:-1])


s = input()
nums = []
for i in s:
	if i != '+':
		nums.append(i)
nums.sort()
print(*nums, sep='+')


a = input().rstrip().split('+')
a.sort()
print('+'.join(a))


s = input()
ans = ''
for i in range(3):
	ans += (str(i + 1) + '+') * s.count(str(i + 1))
print(ans[:-1])


print('+'.join(sorted(input().strip('\n\r\t').split('+'))))


b = list(input())
c = []
d = []
for i in b:
	if i != '+':
		c.append(i)
one_c = c.count('1')
two_c = c.count('2')
three_c = c.count('3')
while one_c != 0:
	d.append(1)
	one_c -= 1
while two_c != 0:
	d.append(2)
	two_c -= 1
while three_c != 0:
	d.append(3)
	three_c -= 1
s = ''
for j in d:
	s += '{}+'.format(j)
print(s[:len(s) - 1])


n = list(input())
t = len(n)
b = ['1', '2', '3']
a = []
for i in range(len(n)):
	if n[i] in b:
		a.append(n[i])
a = sorted(a)
for i in range(t):
	if 2 * i + 1 < t:
		a.insert(2 * i + 1, '+')
print(''.join(a))


def main():
	print('+'.join(map(str, sorted(map(int, input().split('+'))))))
main()


x = input()
ar = []
for i in x:
	if i is not '+':
		ar.append(int(i))
ar.sort()
for i in range(len(ar) - 1):
	print(str(ar[i]) + '+', end='')
print(ar[-1])


s = input()
l = []
for i in s:
	l.append(i)
while '+' in l:
	l.remove('+')
l.sort()
l = '+'.join(l)
print(l)


s = input()
t = ''
f = ''
for c in s:
	if c != '+':
		t += c
t = sorted(t)
for i in range(len(t)):
	f = f + t[i] + '+'
print(f[0:len(s)])


l = list(map(int, input().split('+')))
l.sort()
ans = ''
for x in l:
	ans += str(x) + '+'
ans = ans[:-1]
print(ans)


string = input()
inp = []
inp = string.split('+')
inp.sort()
str1 = ''
for i in range(0, len(inp)):
	str1 = str1 + inp[i]
	if i < len(inp) - 1:
		str1 = str1 + '+'
print(str1)


line = [int(i) for i in input().split('+')]
line.sort()
newline = '+'.join([str(i) for i in line])
print(newline)


str = input()
l = str.split('+')
for i in l:
	i = int(i)
l.sort()
for i in range(0, len(l)):
	if i != len(l) - 1:
		print(l[i] + '+', end='')
	else:
		print(l[i])


import sys
inputLines = sys.stdin.readlines()
nums = list(map(lambda x: str(int(x)), inputLines[0].split('+')))
nums.sort()
print('+'.join(nums))


s = input().strip()
if '+' not in s:
	print(s)
else:
	print('+'.join(sorted(s.replace('+', ''))))


s = input()
numList = s.split('+')
for i in range((len(s) + 1) // 2):
	numList[i] = int(numList[i])
sortedList = sorted(numList)
sortedStr = ''
for i in range(len(numList)):
	sortedStr += str(sortedList[i])
	if i == len(numList) - 1:
		break
	sortedStr += '+'
print(sortedStr)


def main():
	sum_on_the_board = input()
	sorted_numbers = sorted(sum_on_the_board.split(sep='+'))
	rewritten_sum = '+'.join(sorted_numbers)
	print(rewritten_sum)
main()


from sys import stdin
input = stdin.readline
print('+'.join(sorted(input().strip().split('+'))))


enter = list(map(int, input().split('+')))
sorted_enter = sorted(enter)
result = ''
for i in range(len(enter) - 1):
	result += str(sorted_enter[i]) + '+'
print(result + str(sorted_enter[-1]))


try:
	n = input()
	flag = 0
	if n.find('1') > -1:
		x = 0
		x = n.count('1')
		if x >= 1:
			print('1', end='')
			flag = 1
			x -= 1
		while x:
			print('+1', end='')
			x -= 1
	if n.find('2') > -1:
		x = 0
		x = n.count('2')
		if x >= 1 and flag == 0:
			print('2', end='')
			flag = 1
			x -= 1
		while x:
			print('+2', end='')
			x -= 1
	if n.find('3') > -1:
		x = 0
		x = n.count('3')
		if x >= 1 and flag == 0:
			print('3', end='')
			flag = 1
			x -= 1
		while x:
			print('+3', end='')
			x -= 1
except:
	pass


N = input().split('+')
N = sorted(N)
M = '+'.join(N)
print(M)


s = input()
l = s.split('+')
l.sort()
s = ''
for elem in l[:-1]:
	s += elem + '+'
s += l[-1]
print(s)


stroka = input()
a = []
for i in stroka:
	if i != '+':
		a.append(i)
print(*sorted(a), sep='+')


from collections import Counter
n_count = Counter([int(x) for x in input().split('+')])
print('+'.join(filter(None, ('+'.join(['1' for _ in range(n_count[1])]), '+'.join(['2' for _ in range(n_count[2])]), '+'.join(['3' for _ in range(n_count[3])])))))


s = input()
res = '1+' * s.count('1') + '2+' * s.count('2') + '3+' * s.count('3')
print(res[:-1])


s = input()
l = list(s.split('+'))
l.sort()
a = ''
for i in range(len(s)):
	if i % 2:
		a = a + '+'
	else:
		a = a + l[i // 2]
print(a)


in_sum = input()
sum = in_sum.split('+')
print('+'.join(sorted(sum)))


s = input()
s1 = ''
s2 = ''
s3 = ''
for i in range(len(s)):
	if s[i] != '+':
		s1 += s[i]
s1 = list(s1)
s4 = []
s4 = sorted(s1)
for ele in s4:
	s3 += ele
j = 0
m = '+'
for i in range(len(s)):
	if i % 2 == 0:
		s2 += s3[j]
		j += 1
	else:
		s2 += '+'
print(s2)


def math(s):
	l = s.split('+')
	l.sort()
	print('+'.join(l))
s = input()
math(s)


def solve():
	a = list(map(int, input().split('+')))
	a.sort()
	ans = ''
	for i in a:
		ans += str(i)
		ans += '+'
	print(ans[:-1])
solve()


a = input()
l = []
b = a.split('+')
y = sorted(b)
c = '+'.join(y)
print(c)


equation = input().split('+')
equation.sort()
print(*equation, sep='+')


S = map(str, input().split('+'))
S = list(S)
S.sort()
print('+'.join(S))


k = []
n = list(input())
t = len(n)
if len(n) > 1:
	for i in range(t):
		if n[i] == '1' or n[i] == '2' or n[i] == '3':
			k.append(n[i])
		for j in range(len(k)):
			k[j] = int(k[j])
		k.sort()
	for m in range(len(k) - 1):
		print(k[m], end='+')
	print(k[m + 1])
else:
	print(n[0])


statement = input().split('+')
statement.sort()
print('+'.join(statement))


from __future__ import division, print_function

def get_ints():
	return map(int, input().strip().split())

def get_array():
	return list(map(int, input().strip().split()))
from collections import defaultdict

def main():
	s = input()
	arr = list(s)
	res = []
	for i in arr:
		if i.isdigit():
			res.append(i)
	res.sort()
	res = '+'.join(res)
	print(res)
py2 = round(0.5)
if py2:
	from future_builtins import ascii, filter, hex, map, oct, zip
	range = xrange
import os, sys
from io import IOBase, BytesIO
BUFSIZE = 8192

class FastIO(BytesIO):
	newlines = 0

	def __init__(self, file):
		self._file = file
		self._fd = file.fileno()
		self.writable = 'x' in file.mode or 'w' in file.mode
		self.write = super(FastIO, self).write if self.writable else None

	def _fill(self):
		s = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
		self.seek((self.tell(), self.seek(0, 2), super(FastIO, self).write(s))[0])
		return s

	def read(self):
		while self._fill():
			pass
		return super(FastIO, self).read()

	def readline(self):
		while self.newlines == 0:
			s = self._fill()
			self.newlines = s.count(b'\n') + (not s)
		self.newlines -= 1
		return super(FastIO, self).readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.getvalue())
			(self.truncate(0), self.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		if py2:
			self.write = self.buffer.write
			self.read = self.buffer.read
			self.readline = self.buffer.readline
		else:
			self.write = lambda s: self.buffer.write(s.encode('ascii'))
			self.read = lambda : self.buffer.read().decode('ascii')
			self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')
main()


n = input()
m = list(n)
s = []
t = []
q = ''
for i in range(0, len(m), 2):
	s.append(m[i])
s.sort()
for i in range(len(s)):
	t.append(s[i])
	t.append('+')
for i in range(len(t) - 1):
	q = q + t[i]
print(q)


a = sorted(list(map(int, input().split('+'))))
s = ''
for i in range(len(a)):
	s += f'+{a[i]}'
s = s[1:]
print(s)


s = input()
v = []
for i in range(0, len(s), 2):
	v.append(s[i])
v.sort()
p = '+'.join(v)
print(p)


i = input()
s = []
x = ''
for h in i:
	if h != '+':
		s.append(int(h))
s.sort()
for j in s:
	x = x + '+' + str(j)
print(x[1:])


def getLines(num):
	inputLines = []
	for i in range(0, num):
		line = input()
		if line:
			inputLines.append(line)
		else:
			break
	return inputLines

def notZeroPow(num, p):
	return True if num >= 1 and num <= pow(10, p) else False
lines = getLines(1)
result = 0
arr = [int(e) for e in lines[0].split('+')]
arr.sort()
result = ''
for (i, e) in enumerate(arr):
	if i >= len(arr) - 1:
		result += str(e)
	else:
		result += str(e) + '+'
if len(arr) == 1:
	result = str(arr[0])
print(result)


given_sum = input()
digits = []
output = ''
for string in given_sum:
	if string != '+':
		digits.append(int(string))
rnge = len(digits)
for i in range(rnge):
	minimum = min(digits)
	if i != rnge - 1:
		output += str(minimum) + '+'
	else:
		output += str(minimum)
	digits.remove(minimum)
print(output)


ques = input().split('+')
ques.sort()
if len(ques) == 1:
	print(''.join(ques))
else:
	print('+'.join(ques))


entrada = input().split('+')
lista = []
for i in range(len(entrada)):
	if entrada[i] == '1' or entrada[i] == '2' or entrada[i] == '3':
		lista.append(int(entrada[i]))
lista.sort()
saida = '' + str(lista[0])
for i in range(1, len(lista)):
	saida += '+' + str(lista[i])
print(saida)


number = [int(i) for i in input().split('+')]
number.sort()
length = len(number)
for (id, i) in enumerate(number):
	print(i, end='')
	if id == length - 1:
		break
	print('+', end='')


t = input()
l = t.split('+')
l.sort()
print(str('+'.join(l)))


s = input()
b = len(s)
a = []
for i in range(b):
	if i % 2 == 0:
		a.append(int(s[i]))
a = list(a)
a.sort()
j = 0
c = ''
for i in range(b):
	if i % 2 == 0:
		c = c + str(a[j])
		j = j + 1
	else:
		c = c + '+'
print(c)


def arrange(s, separator):
	lst = list(sorted(s))
	val = separator.join((str(item) for item in lst))
	return val
s = input()
separator = '+'
s = map(int, s.split(separator))
out = arrange(list(s), separator)
print(out)


s = input()
l = []
for i in range(len(s)):
	if s[i].isdigit():
		l.append(s[i])
		l.sort()
		c = ''.join(l)
res = '+'.join((c[i:i + 1] for i in range(0, len(c))))
print(res)


m = input()
n = []
for i in range(int((len(m) + 1) / 2)):
	n.append(int(m[2 * i]))
n.sort()
n = list(map(str, n))
print('+'.join(n))


import math
import os
import random
import re
import sys
from operator import itemgetter, attrgetter
n = [int(x) for x in input().strip().split('+')]
n.sort()
s = '+'.join([str(x) for x in n])
print(s)


import os
import sys
from io import BytesIO, IOBase
import math

def main():
	pass
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
l = list(map(int, input().split('+')))
l.sort()
ans = ''
i = 0
while i < len(l):
	ans += str(l[i])
	if i != len(l) - 1:
		ans += '+'
	i += 1
print(ans)


res = ''
x = input().split('+')
z = sorted(x)
for num in z:
	res += num
	res += '+'
print(res[:-1])


s = input()
le = len(s)
l = s[0:le:2]
l = list(l)
l = sorted(l)
for i in range(le // 2):
	print(l[i] + '+', end='')
print(l[le // 2])


s = input()
i = 0
li = []
while i < len(s):
	if s[i] != '+':
		li.append(int(s[i]))
	i += 1
li.sort()
new = ''
i = 0
while i < len(li):
	if i == 0:
		new = new + str(li[i])
	else:
		new = new + '+' + str(li[i])
	i += 1
print(new)


mystring = input()
li = []
li.append(mystring.split('+'))
li = li[0]
mylist = []
mylist2 = []
mylist3 = []
a = 0
for i in li:
	i = int(i)
	mylist.append(i)
	mylist = sorted(mylist)
	for n in mylist:
		n = str(n)
		mylist2.append(n)
		mystring2 = '+'.join(mylist2)
print(mystring2[-len(mystring):])


digits = input().split('+')
digits.sort()
print('+'.join(digits))


string = str(input())
numbers = []
for word in string.split('+'):
	if word.isdigit():
		numbers.append(int(word))
numbers.sort()
str1 = '+'.join((str(e) for e in numbers))
print(str1)


n = input()
strr = []
for i in n:
	if i == '+':
		pass
	else:
		strr.append(int(i))
strr.sort()
strr = map(str, strr)
print('+'.join(strr))


t = list(map(int, input().split('+')))
q = len(t)
w = q - 1
t.sort()
j = 0
for i in range(q):
	print(t[i], end='')
	if j < w:
		print('+', end='')
		j += 1


s = input()
s1 = ''
ones = s.count('1')
twos = s.count('2')
three = s.count('3')
for i in range(ones):
	s1 = s1 + '1' + '+'
for i in range(twos):
	s1 = s1 + '2' + '+'
for i in range(three):
	s1 = s1 + '3' + '+'
print(s1[:-1])


a = str(input())
b = len(a)
c = list(a)
x = 0
for i in range(0, int((b - 1) / 2)):
	c.remove('+')
for u in range(0, b + 1):
	for m in range(0, int((b - 1) / 2)):
		if c[m] > c[m + 1]:
			x = c[m + 1]
			c[m + 1] = c[m]
			c[m] = x
print('+'.join(c))


input_expression = input().split('+')
input_expression.sort()
output_expression = '+'.join(input_expression)
print(output_expression)


sum = list(input().split('+'))
sum.sort()
adds = '+'
print(adds.join(sum))


line = input()
n = int((len(line) + 1) / 2)
A = []
B = []
for i in range(n):
	num = line[2 * i]
	if int(num) == 1:
		A.append(num)
for i in range(n):
	num = line[2 * i]
	if int(num) == 2:
		A.append(num)
for i in range(n):
	num = line[2 * i]
	if int(num) == 3:
		A.append(num)
print('+'.join(A))


s = input().split('+')
if len(s) == 1:
	print(s[0])
else:
	s.sort()
	print('+'.join(s))


def helpfulMaths():
	s = str(input())
	c1 = 0
	c2 = 0
	c3 = 0
	for i in range(0, len(s), 2):
		if int(s[i]) == 2:
			c2 += 1
		if int(s[i]) == 1:
			c1 += 1
		if int(s[i]) == 3:
			c3 += 1
	st = '1+' * c1 + '2+' * c2 + '3+' * c3
	st = st[:len(st) - 1]
	print(st)
helpfulMaths()


a = input()
b = []
for i in range(len(a)):
	if a[i] != '+':
		b.append(a[i])
b.sort()
res = ''
res = res + b[0]
for j in range(1, len(b)):
	res = res + '+'
	res = res + b[j]
print(res)


sum = list(map(int, input().split('+')))
sum.sort()
print(*sum, sep='+')


a = input()
l = list(map(int, a.split('+')))
l.sort()
s = ''
for i in l:
	s += str(i) + '+'
s = s.rstrip('+')
print(s)


s = input().split('+')
s.sort()
res = ''
for n in s:
	res += n + '+'
print(res[:-1])


(a1, a2, a3) = (0, 0, 0)
T = input('')
for i in T:
	if i == '1':
		a1 = a1 + 1
	elif i == '2':
		a2 = a2 + 1
	elif i == '3':
		a3 = a3 + 1
a = ''
for i in range(a1):
	a = a + '1+'
for i in range(a2):
	a = a + '2+'
for i in range(a3):
	a = a + '3+'
print(a[:-1])


math = input()
lst = list(math)
for elements in lst:
	if elements == '+':
		lst.remove(elements)
lst.sort()
math = '+'.join(lst)
print(math)


s = input()
arr = []
x = ''
for i in str(s):
	if i == '1' or i == '2' or i == '3':
		arr.append(int(i))
if len(arr) >= 2:
	arr.sort()
	x = str(arr[0]) + '+'
	for i in range(1, len(arr) - 1):
		x = x + str(arr[i]) + '+'
	x = x + str(arr[-1])
	print(x)
else:
	print(str(arr[0]))


A = input().split('+')
A.sort()
print('+'.join(map(str, A)))


(s, y) = (input(), '+')
l = list(s.split('+'))
l.sort()
print(y.join(l))


a = input().strip().split('+')
c_1 = 0
c_2 = 0
c_3 = 0
for i in a:
	if i == '1':
		c_1 += 1
	elif i == '2':
		c_2 += 1
	else:
		c_3 += 1
c = c_2 + c_1 + c_3
if c == 1:
	print(a[0])
else:
	for i in range(c_1):
		print(1, end='')
		c -= 1
		if c != 0:
			print('+', end='')
	for i in range(c_2):
		print(2, end='')
		c -= 1
		if c != 0:
			print('+', end='')
	for i in range(c_3):
		print(3, end='')
		c -= 1
		if c != 0:
			print('+', end='')


s = input()
l = []
for i in range(0, len(s)):
	if s[i] != '+':
		l.append(s[i])
l.sort()
t = 0
for i in range(0, len(l)):
	if t != len(l) - 1:
		print(l[i] + '+', end='')
	else:
		print(l[i])
	t += 1


expr = input()
num = []
for ch in expr:
	if ch != '+':
		num.append(int(ch))
num.sort()
print('+'.join(map(str, num)))


equation = input()
equationlist = list(equation)
number = []
for i in range(0, len(equationlist), 2):
	number.append(equationlist[i])
number.sort()
newequ = [''] * len(equationlist)
for i in range(0, len(number) - 1):
	newequ[2 * i] = number[i]
	newequ[2 * i + 1] = '+'
newequ[len(equationlist) - 1] = number[len(number) - 1]
print(''.join(newequ))


numbers1 = list(map(int, input().split('+')))
numbers1.sort()
numbers1 = map(str, numbers1)
print('+'.join(numbers1))


s = input()
rev = sorted(s[::2])
print('+'.join(rev))


a = input()
x = []
for i in range(0, len(a), 2):
	x.append(int(a[i]))
for j in range(len(x)):
	for i in range(len(x) - 1):
		if x[i] > x[i + 1]:
			(x[i], x[i + 1]) = (x[i + 1], x[i])
for i in range(len(x) - 1):
	print(x[i], end='+')
print(x[len(x) - 1])


sen = input()
nums = ''.join(([',', c][int(c.isalnum())] for c in sen)).split(',')
nums = sorted(nums)
ans = nums[0]
for i in nums[1:]:
	ans += '+' + i
print(ans)


s = input().strip()
one = 0
two = 0
three = 0
for i in range(len(s)):
	if s[i] == '1':
		one += 1
	elif s[i] == '2':
		two += 1
	elif s[i] == '3':
		three += 1
for i in range(one + two + three):
	if one:
		print('1', end='')
		one -= 1
	elif not one and two:
		print('2', end='')
		two -= 1
	elif not one and (not two) and three:
		print('3', end='')
		three -= 1
	if one or two or three:
		print('+', end='')


def trie(x=[]):
	b = True
	while b:
		b = False
		for i in range(0, len(x) - 1):
			if x[i] > x[i + 1]:
				aux = x[i]
				x[i] = x[i + 1]
				x[i + 1] = aux
				b = True
	return x
x = input().split('+')
y = trie(x)
ch = ''
for i in range(0, len(y) - 1):
	ch = ch + y[i] + '+'
ch = ch + y[len(y) - 1]
print(ch)


s = list(input())
lst = []
for i in range(len(s)):
	if i % 2 == 0:
		lst.append(int(s[i]))
lst.sort()
for j in range(len(lst)):
	if j == 0:
		print(lst[0], end='')
	else:
		print('+', end='')
		print(lst[j], end='')


s = input()
v = []
tot = 0
for i in s:
	if i != '+':
		v.append(i)
	tot += 1
v.sort()
k = 0
sFinal = ''
for i in range(tot):
	if i % 2 == 0:
		sFinal += v[k]
		k += 1
	else:
		sFinal += '+'
print(sFinal)


s = input()
if '+' not in s:
	print(s)
else:
	numList = []
	for x in s:
		if x != '+':
			numList.append(x)
	numList = [int(x) for x in numList]
	numList.sort()
	numList = [str(x) for x in numList]
	for x in range(len(numList) - 1):
		numList[x] = numList[x] + '+'
	result = ''.join((e for e in numList))
	print(result)


s = input()
a1 = 0
a2 = 0
a3 = 0
for i in range(0, len(s)):
	if s[i] == '1':
		a1 += 1
	elif s[i] == '2':
		a2 += 1
	elif s[i] == '3':
		a3 += 1
ans = a1 * '1+' + a2 * '2+' + a3 * '3+'
print(ans[0:-1])


s = str(input())
newWord = ''
for letter in s:
	if letter.isnumeric():
		newWord += letter
s = newWord
s = list(s)
s = sorted(s)
t = list(map(int, s))
if int(t[-1]) < int(t[0]):
	s = sorted(s)
answer = ''
for j in range(0, len(s)):
	answer += s[j]
	if j != len(s) - 1:
		answer += '+'
print(answer)


a = input()
a = a.split('+')
b = []
for i in range(len(a)):
	b.append(int(a[i]))
b = sorted(b)
Awn = ''
for i in range(len(b)):
	Awn += str(b[i])
	Awn += '+'
print(Awn[:len(Awn) - 1])


math = input()
math = list(math)
for j in math:
	if j == '+':
		math.remove(j)
print('+'.join(sorted(math)))


input_ = input()
numbers = input_.split('+')
new_sum = ''
for number in range(len(numbers) - 1):
	smallest = min(numbers)
	new_sum += str(smallest) + '+'
	numbers.remove(smallest)
smallest = min(numbers)
new_sum += str(smallest)
print(new_sum)


def take():
	li = input().strip().split('+')
	l = sorted(li)
	print('+'.join(l))
take()


s = input()
i = 0
l = []
while i < len(s):
	if s[i] != '+':
		l.append(int(s[i]))
	i += 1
l.sort()
ans = ''
for i in range(len(l)):
	if i != len(l) - 1:
		ans = ans + str(l[i]) + '+'
	else:
		ans = ans + str(l[i])
print(ans)


s = input()
lst = list(s)
lst1 = lst[0:len(s) - 1]
for i in lst1:
	if i == '+':
		lst.remove(i)
lst.sort()
d = ''
w = d.join(('+' + j for j in lst))
lst2 = list(w)
lst2.pop(0)
e = ''
print(e.join((l for l in lst2)))


st = input()
l = []
for el in st:
	if el.isalnum():
		index = 0
		for j in range(len(l)):
			index = j + 1
			if int(l[j]) > int(el):
				index -= 1
				break
		l.insert(index, int(el))
result = ['+'] * (len(l) * 2 - 1)
result[0::2] = l
for i in result:
	print(i, end='')
print()


s1 = input()
s2 = '123'
l1 = []
for i in s1:
	if i in s2:
		l1.append(i)
l1.sort()
s3 = str()
s3 = s3 + l1[0]
for i in range(1, len(l1)):
	s3 = s3 + '+'
	s3 = s3 + l1[i]
print(s3)


expression = [a for a in input().split('+')]
expression.sort()
print('+'.join(expression))


s = input()
s_list = s.split('+')
s_list.sort()
print('+'.join(s_list))


n = str(input())
a = []
d = []
s = []
b = list(n)
for i in range(len(b)):
	if b[i] != '+':
		a.append(b[i])
c = sorted(a)
for i in range(len(c)):
	d = list(c[i])
	for j in range(len(d)):
		d.append('+')
		s.append(''.join(map(str, d)))
k = list(''.join(map(str, s)))
for i in range(len(k)):
	del k[-1]
	k.append(' ')
print(''.join(map(str, k)))


inf = 1001

def merge(L, n1, R, n2):
	L.append(inf)
	R.append(inf)
	a = []
	i = j = 0
	while i < n1 or j < n2:
		if L[i] < R[j]:
			a.append(L[i])
			i += 1
		else:
			a.append(R[j])
			j += 1
	return a

def msort(a, n):
	if n == 1:
		return a
	else:
		n1 = n // 2
		n2 = n - n1
		L = a[:n1]
		R = a[n1:]
		L = msort(L, n1)
		R = msort(R, n2)
		return merge(L, n1, R, n2)
a = list(map(int, input().split('+')))
n = len(a)
a = msort(a, n)
for x in range(n - 1):
	print('{}+'.format(a[x]), end='')
print(a[n - 1])


t = lambda : map(int, input().split('+'))
x = list(t())
x.sort()
for i in range(len(x)):
	print(x[i], end='')
	if i < len(x) - 1:
		print('+', end='')


inf = 10

def merge(n1, L, n2, R, a):
	L.append(inf)
	R.append(inf)
	i = j = k = 0
	while i < n1 or j < n2:
		if L[i] < R[j]:
			a[k] = L[i]
			i += 1
		else:
			a[k] = R[j]
			j += 1
		k += 1

def mergeSort(n, a):
	if n > 1:
		n1 = n // 2
		n2 = n - n1
		L = a[:n1]
		R = a[n1:]
		mergeSort(n1, L)
		mergeSort(n2, R)
		merge(n1, L, n2, R, a)
s = list(map(int, input().split('+')))
n = len(s)
mergeSort(n, s)
print(*s, sep='+')


a = input().strip().split('+')
a = list(map(int, a))
a.sort()
a = list(map(str, a))
print('+'.join(a))


s = input()
l = [x for x in s.split('+')]
l = sorted(l)
print('+'.join(l))


s = input()
x = ''
a = 0
b = 0
c = 0
i = 0
while i < len(s):
	if s[i] == '1':
		a = a + 1
	elif s[i] == '2':
		b = b + 1
	elif s[i] == '3':
		c = c + 1
	i = i + 1
i = 0
while i < a:
	i = i + 1
	x = x + '1+'
i = 0
while i < b:
	i = i + 1
	x = x + '2+'
i = 0
while i < c:
	i = i + 1
	x = x + '3+'
print(x[0:-1])


num_list = input().split('+')
num_list.sort()
print('+'.join(num_list))


x = input()
X = x.split('+')
menor = int(X[0])
b = 0
for k in range(0, len(x) // 2 + 1):
	X[k] = int(X[k])
for g in range(0, len(x) // 2):
	for k in range(0, len(x) // 2):
		if X[k] > X[k + 1]:
			b = X[k + 1]
			X[k + 1] = X[k]
			X[k] = b
print(X[0], end='')
for k in range(1, len(x) // 2 + 1):
	print('+' + str(X[k]), end='')


a = input()
b = a.split('+')
c = len(b)
b.sort()
s = ''
for i in range(c):
	if i != c - 1:
		s += b[i] + '+'
	elif i == c - 1:
		s += b[i]
print(s)


exp = input().split('+')
ans = '+'.join(sorted(exp))
print(ans)


s = input()
l = []
for i in s:
	if i.isdigit():
		l.append(i)
l.sort()
res = ''
for i in range(len(l)):
	res += l[i]
	res += '+'
print(res[:-1])


s = input()
n = len(s)
if n == 1:
	print(s)
else:
	arr = s.split('+')
	arr.sort()
	for i in range(0, len(arr)):
		if i != len(arr) - 1:
			print(arr[i], end='+')
		else:
			print(arr[i])


def main():
	s = input()
	nums = list(map(int, s.split('+')))
	nums.sort()
	for i in range(len(nums)):
		nums[i] = str(nums[i])
	ans = '+'.join(nums)
	print(ans)
main()


s = input()
numbers = []
strings = []
for i in range(len(s)):
	if i == 0:
		numbers.append(s[i])
	elif i % 2 == 0:
		numbers.append(s[i])
	else:
		strings.append(s[i])

def sort(numbers):
	for i in range(len(numbers)):
		minIndex = i
		for j in range(i + 1, len(numbers)):
			if numbers[j] < numbers[minIndex]:
				minIndex = j
		(numbers[i], numbers[minIndex]) = (numbers[minIndex], numbers[i])
	return numbers
numbers = sort(numbers)
sortedOutput = []
for i in range(len(strings)):
	sortedOutput.append(numbers[i])
	sortedOutput.append(strings[i])
sortedOutput.append(numbers[-1])
properOutput = ''
for item in sortedOutput:
	properOutput += item
print(properOutput)


dig = input().split('+')
dig.sort()
l = len(dig)
for i in range(l):
	if i == l - 1:
		print(dig[i])
	else:
		print(dig[i] + '+', end='')


a = str(input())
a = list(a)
sol = []
for i in a:
	if i != '+':
		sol.append(i)
a.clear()
sol = sorted(sol)
for i in sol:
	a.append(i)
	a.append('+')
a.pop()
print(*a, sep='')


def insertion(data):
	temp = []
	for i in data:
		put = False
		for l in range(len(temp)):
			if i < temp[l]:
				temp.insert(l, i)
				put = True
				break
		if not put:
			temp.append(i)
	return temp
prompt = input().split('+')
prompt = [int(i) for i in prompt]
prompt = insertion(prompt)
prompt = [str(i) for i in prompt]
print('+'.join(prompt))


while True:
	try:
		L = list(map(int, input().split('+')))
		L.sort()
		result = ''
		for i in L:
			result += str(i) + '+'
		print(result[:-1])
	except EOFError:
		break


a = input()
a = list(a)
b = []
i = 0
while i < len(a):
	b.append(a[i])
	i += 2
b.sort()
print(*b, sep='+')


i = input().split('+')
s = ''
i = sorted(i)
for x in i:
	s += x + '+'
s = s[:-1]
print(s)


str1 = list(map(str, input().split('+')))
for i in range(1):
	print('+'.join(sorted(str1)))


a = list(map(int, input().split('+')))
a.sort()
result = ''
for x in a:
	result += str(x) + '+'
print(result[:-1])


s = input()
l = []
l1 = []
for x in s:
	if x != '+':
		l.append(int(x))
for y in range(len(l)):
	l1.append(min(l))
	l.remove(min(l))
s1 = ''
for z in l1:
	s1 = s1 + str(z) + '+'
s2 = s1[:-1]
print(s2)


a = input()
b = []
for i in range(len(a)):
	if i % 2 == 0:
		b.append(a[i])
	else:
		pass
c = sorted(b)
d = '+'
print('+'.join(c))


inp = str(input())
c = '+'
for i in inp:
	if c in i:
		inp = inp.replace(c, '')
if len(inp) > 1:
	sorte = sorted(inp)
	g = '+'.join(sorte)
	print(g)
else:
	print(inp)


s = input()
s = list(s)
l = s.count('1')
l2 = s.count('2')
l3 = s.count('3')
rez = ''
for i in range(l):
	rez += '1'
for i in range(l2):
	rez += '2'
for i in range(l3):
	rez += '3'
print('+'.join(rez))


string = input()
numbers = list()
i = 0
while i < len(string):
	if i % 2 == 0:
		numbers.append(string[i])
	i = i + 1
numbers.sort()
new = '+'.join(numbers)
print(new)


s = input()
ls = s.split('+')
ls.sort()
ls2 = '+'.join(ls)
print(ls2)


a = input()
b = []
for i in a:
	if i == '1' or i == '2' or i == '3':
		b.append(i)
b.sort()
print('+'.join(b))


eq = list(filter(lambda a: a != '+', input()))
eq.sort()
result = '+'.join(eq)
print(result)


equation = sorted((d for d in input().split('+')))
print('+'.join(equation))


q = input().split('+')
w = '+'.join(sorted(q))
print(w)


a = input()
m = a.split('+')
b = '+'.join(sorted(m))
print(b)


c1 = 0
c2 = 0
c3 = 0
l1 = []
a = input()
a = list(a)
for i in a:
	if i == '1':
		l1.append(int(i))
	if i == '2':
		l1.append(int(i))
	if i == '3':
		l1.append(int(i))
l1.sort()
for i in range(len(l1) - 1):
	print(str(l1[i]) + '+', end='')
print(l1[len(l1) - 1])


import sys
input_values = input()
ones = ['1'] * input_values.count('1')
twos = ['2'] * input_values.count('2')
threes = ['3'] * input_values.count('3')
output = '+'.join(ones + twos + threes)
print(output)


T = list(map(str, input().split('+')))
T.sort()
print('+'.join(T))


n = input()
x = list(n)
z = []
for item in x:
	if item != '+':
		z.append(int(item))
z = sorted(z)
l = len(z)
if l > 1:
	for i in range(l):
		if i != l - 1:
			print(z[i], end='+')
		else:
			print(z[i])
else:
	print(z[0])


__author__ = 'widoc'
items = sorted(input().split('+'))
print('+'.join(items))


myList = []
myList = list(map(int, input().split('+')))
myList.sort()
for i in range(len(myList)):
	if i != len(myList) - 1:
		print(myList[i], '+', sep='', end='')
	else:
		print(myList[i], end='')


def solve(sumText):
	if '+' not in sumText:
		return sumText
	nums = list(map(int, sumText.split('+')))
	nums.sort()
	return '+'.join((str(num) for num in nums))
textInput = input()
print(solve(textInput))


numbers = input().split('+')
numbers.sort()
ans = []
for num in numbers:
	ans.append(num)
separator = '+'
final_str = separator.join(numbers)
print(final_str)


a = input()
a = list(a)
s = '+'
while '+' in a:
	a.remove('+')
a.sort()
check = s.join(a)
print(check)


s = input()
n = len(s)
l = []
for i in range(0, n, 2):
	l.append(int(s[i]))
l = sorted(l)
t = len(l)
for j in range(t):
	if j == 0:
		print(l[j], end='')
	else:
		print('+', end='')
		print(l[j], end='')


s = input()
am = {'1': 0, '2': 0, '3': 0}
x = len(s)
p = ''
for i in range(0, x, 2):
	am[s[i]] += 1
for i in range(am['1']):
	p = p + '1+'
for i in range(am['2']):
	p = p + '2+'
for i in range(am['3']):
	p = p + '3+'
print(p[:-1])


str1 = input()
str2 = ''
str1 = str1.split('+')
str1.sort()
for i in str1:
	str2 += i + '+'
print(str2[0:len(str2) - 1])


input_str = input()
input_str = input_str.split('+')
input_str.sort()
input_str = '+'.join(input_str)
print(input_str)


data = input()
if len(data) == 1:
	print(data)
else:
	nums = data.split('+')
	nums.sort()
	result = ''
	for num in nums:
		result += num + '+'
	print(result[:-1])


l = list(input())
n = int((len(l) - 1) / 2)
for i in range(n):
	l.remove('+')
l.sort()
n = len(l) - 1
for i in range(n):
	i = i + i + 1
	l.insert(i, '+')
print(''.join(l))


s = input()
s = s.split('+')
l = []
for i in s:
	if i == '1':
		l.append(i)
for i in s:
	if i == '2':
		l.append(i)
for i in s:
	if i == '3':
		l.append(i)
n = ''
for i in l:
	n += i + '+'
print(n.rstrip('+'))


a = list(map(int, input().split('+')))
a.sort()
result = map(str, a)
print('+'.join(result))


str = input().split('+')
str.sort()
strnew = ''
for i in range(len(str) - 1):
	strnew += str[i] + '+'
strnew += str[len(str) - 1]
print(strnew)


ins = input()
ones = ins.count('1')
twos = ins.count('2')
threes = ins.count('3')
out = []
out.append('1+' * ones)
out.append('2+' * twos)
out.append('3+' * threes)
print(''.join(out)[:-1])


s = input()
lst = []
for i in range(len(s)):
	if s[i].isdigit() == 1:
		lst.append(s[i])
lst.sort()
s1 = ''
s1 = s1 + str(lst[0])
for i in range(1, len(lst)):
	s1 += '+' + str(lst[i])
print(s1)


s = input()
c = []
g = ''
l = ''
if len(s) == 1:
	print(s)
else:
	for i in s:
		if i != '+':
			c.append(i)
	c.sort()
	for j in c:
		g += j + ' '
	b = g.split()
	for k in range(1, len(b) - 1):
		l += '+'
		l += b[k]
	print(b[0] + l + '+' + b[-1])


s = list(map(int, input().strip().split('+')))
ls = sorted(s)
print('+'.join((str(i) for i in ls)))


inLine = str(input())
array = sorted([int(numeric_string) for numeric_string in str.split(inLine, '+')])
res = ''
for i in range(0, len(array) - 1):
	res += str(array[i]) + '+'
res += str(array[len(array) - 1])
print(res)


a = sorted(list(map(int, input().split('+'))))
print('+'.join((str(b) for b in a)))


s = input()
s1 = s.count('1')
s2 = s.count('2')
s3 = s.count('3')
p = ''
for i in range(s1):
	p += '1+'
for i in range(s2):
	p += '2+'
for i in range(s3):
	p += '3+'
n = len(p)
print(p[:n - 1])


def main():
	inner = list(input())
	l = int((len(inner) - 1) / 2)
	for _ in range(l):
		inner.remove('+')
	inn = sorted(inner)
	i = ''
	c = 0
	for k in inn:
		c += 1
		i += k
		if c != len(inn):
			i += '+'
	print(i)
main()


raw_sum = input()
num_list = []
for i in range(len(raw_sum)):
	if raw_sum[i] != '+':
		num_list.append(int(raw_sum[i]))
	num_list.sort()
for j in range(len(num_list)):
	if j == len(num_list) - 1:
		print(str(num_list[j]))
	else:
		print(str(num_list[j]) + '+', end='')


def solution():
	s_in = input()
	if len(s_in) == 1:
		print(s_in)
		return None
	nums = s_in.split('+')
	nums.sort()
	res = []
	for i in range(len(nums) - 1):
		res.append(str(nums[i]))
		res.append('+')
	res.append(str(nums[-1]))
	print(''.join(res))
solution()


from sys import stdin
line1 = stdin.readline().split('+')
line1[-1] = line1[-1].strip()
line1 = sorted(line1)
print('+'.join(line1))


a = input()
a = list(a)
b = []
for i in a:
	if i != '+':
		b.append(i)
b = list(map(int, b))
b.sort()
print(*b, sep='+')


l = [int(x) for x in input().split('+')]
l.sort()
n = len(l)
for i in range(n):
	l[i] = str(l[i])
string = '+'.join(l)
print(string)


Testcase = 1
for _ in range(Testcase):
	s = input()
	arr = []
	ans = ''
	for i in s:
		if i != '+':
			arr.append(i)
	arr.sort()
	print('+'.join(arr))


s = input().strip().split('+')
s.sort()
a = []
z = ''
for i in range(0, len(s)):
	a.append(s[i])
	if i < len(s) - 1:
		a.append('+')
print(z.join(a))


a = input()
if a == '2':
	print(2)
if a == '1':
	print(1)
if a == '3':
	print(3)
b = a.split('+')
c = len(b)
b.sort()
m = 0
while m < c - 1:
	print(b[m], end='+')
	m = m + 1
	if m == c - 1:
		print(b[m])


s = input('')
nums = list(map(int, s.split('+')))

def selectionSort(alist):
	for i in range(len(alist) - 1, 0, -1):
		positionOfMax = 0
		for location in range(1, i + 1):
			if alist[location] > alist[positionOfMax]:
				positionOfMax = location
		temp = alist[i]
		alist[i] = alist[positionOfMax]
		alist[positionOfMax] = temp
selectionSort(nums)
s = '+'.join(map(str, nums))
print(s)


s = ''
for c in sorted(list(filter('+'.__ne__, input()))):
	s += c + '+'
s = s[:-1]
print(s)


from sys import stdin

def main():
	cad = stdin.readline().strip().split('+')
	cad.sort()
	print('+'.join(cad))
main()


string = input()
string2 = string.split('+')
string2.sort()
print('+'.join(string2))


a = list(map(sorted, input().replace('+', '').split()))[0]
string = ''
for b in range(0, len(a)):
	if b == len(a) - 1:
		string += a[b]
		break
	string += a[b] + '+'
print(string)


numb = input()
number = sorted(numb)
c = 0
y = 0
answer = ''
for x in number:
	if x == '+':
		c += 1
d = c
while y < d:
	answer += number[c]
	answer += '+'
	y += 1
	c += 1
if y == d:
	answer += number[c]
print(answer)


import math
p = input()
one = p.count('1')
two = p.count('2')
three = p.count('3')
q = len(p)
madar = '1+' * one + '2+' * two + '3+' * three
for __ in range(q):
	print(madar[__], end='')


s = input()
s = list(s)
n = len(s)
n = int((n - 1) / 2)
for i in range(n):
	s.remove('+')
s.sort()
a = '+'.join(s)
print(a)


arr = sorted([int(i) for i in input().split('+')])
print('+'.join([str(i) for i in arr]))


A = input().split('+')
A.sort()
print('+'.join(A))


s = input().strip()
ls = s.split('+')
ls.sort()
ns = ''
for c in range(0, len(ls) - 1, 1):
	ns += str(ls[c]) + '+'
ns = ns + str(ls[-1])
print(ns)


import sys
line = sys.stdin.readline().strip().split('+')
line.sort()
print('+'.join(line))


s = input()
slist = list(s)
val = ''
final = ''
vala = ''
valb = ''
valc = ''
c = ''
for x in s:
	if not x == '+':
		val += x
for x in val:
	if int(x) <= 1:
		final += x
		final += '+'
	else:
		vala += x
for x in vala:
	if int(x) <= 2:
		final += x
		final += '+'
	else:
		valb += x
for x in valb:
	if int(x) <= 3:
		final += x
		final += '+'
	else:
		valc += x
print(final[0:len(final) - 1])


from itertools import chain

def solution(s):
	n1 = n2 = n3 = 0
	for i in range(0, len(s), 2):
		if s[i] == '1':
			n1 += 1
		elif s[i] == '2':
			n2 += 1
		elif s[i] == '3':
			n3 += 1
	new_sum = '+'.join(chain(('1' for _ in range(n1)), ('2' for _ in range(n2)), ('3' for _ in range(n3))))
	print(new_sum)
s = input()
solution(s)


l = sorted(list(map(int, input().split('+'))))
l1 = []
for i in range(len(l)):
	a = str(l[i])
	l1.append(a)
print('+'.join(l1))


a = input()
l = []
for i in a:
	if i.isdigit():
		l.append(i)
l.sort()
c = 0
for i in a:
	if i.isdigit():
		print(l[c], end='')
		c += 1
	else:
		print(i, end='')


op = input()
list_op = list(op)
list_op = [y for y in list_op if y != '+']
list_op.sort()
i = 1
while i < len(list_op):
	list_op.insert(i, '+')
	i += 2
print(''.join(list_op))


a = [int(x) for x in input().split('+')]
a.sort()
size = 0
for i in a:
	size += 1
for i in range(size):
	if i == 0:
		print(a[0], end='')
		continue
	print('+', end=str(a[i]))


order = list(input().split('+'))
order.sort()
insert = '+'
result = insert.join(order)
print(result)


line = sorted((int(x) for x in input().split('+')))
if len(line) > 1:
	print(end=f'{line[0]}')
	for i in range(1, len(line) - 1):
		print(end=f'+{line[i]}')
	print(end=f'+{line[-1]}')
else:
	print(f'{line[0]}')


n = input()
a = []
a = n.split('+')
a.sort()
s = ''
l = len(a) - 1
for i in a:
	if l != 0:
		s += str(i) + '+'
	else:
		s += str(i)
	l -= 1
print(s)


suma = input()
num = suma.split('+')
num.sort()
suma2 = num[0]
for i in range(1, len(num)):
	suma2 = suma2 + '+' + num[i]
print(suma2)


test = input()
rearranged = sorted(test.split('+'), reverse=False)
print('+'.join(rearranged))


def myfunc():
	None
ar = list(map(int, input().split('+')))
ar.sort()
print('+'.join((str(i) for i in ar)))


s = input()
list1 = []
for i in range(len(s)):
	if s[i] != '+':
		list1.append(s[i])
list1.sort()
list2 = []
for k in range(len(list1) - 1):
	list2.append(list1[k])
	list2.append('+')
list2.append(list1[len(list1) - 1])
print(''.join(list2))


l = sorted(list(map(str, input().split('+'))))
if len(l) == 1:
	print(l[0])
else:
	print('+'.join(l))


s = input()
n = len(s)
a = s[0:n:2]
b = sorted(a)
print('+'.join(b))


a = input().split('+')
b = sorted(a)
new = [x + '+' for x in b]
c = list(''.join(new))
del c[-1]
print(''.join(c))


n = str(input())
m = n.split('+')
m.sort()
output = '+'.join(m)
print(output)


import math
s = input()
x = math.ceil(len(s) / 2)
e = s.split('+')
for i in range(0, len(e)):
	for j in range(i, len(e)):
		if e[j] < e[i]:
			temp = e[j]
			e[j] = e[i]
			e[i] = temp
for x in range(0, len(e)):
	if x == len(e) - 1:
		print('%s' % e[x], end='')
	else:
		print('%s+' % e[x], end='')


a = list(map(int, input().split('+')))
a.sort()
t = str(a[0])
for i in range(1, len(a)):
	t = t + '+' + str(a[i])
print(t)


str = input()
a = int(str.count('1'))
b = int(str.count('2'))
c = int(str.count('3'))
s = '1' * a + '2' * b + '3' * c
import re
patern = re.compile('.{1,1}')
z = '+'.join(patern.findall(s))
print(z)


a = input()
b = a.split('+')
b.sort(key=int)
leng = len(a)
leng = leng / 2
x = []
for i in b:
	if leng > 1:
		x.append(str(i))
		x.append('+')
		leng = leng - 1
	else:
		x.append(str(i))
print(''.join(x))


s = input().split('+')
summan = sorted(s)
helper = str()
x = len(summan)
for i in range(x - 1):
	helper += str(summan[i])
	helper += '+'
helper += str(summan[x - 1])
print(helper)


str = str(input())
if len(str) == 1:
	print(str)
else:
	n1 = str.count('1')
	n2 = str.count('2')
	n3 = str.count('3')
	for i in range(n1):
		if i == n1 - 1 and n2 == 0 and (n3 == 0):
			print('1', end='')
		else:
			print('1+', end='')
	for j in range(n2):
		if j == n2 - 1 and n3 == 0:
			print('2', end='')
		else:
			print('2+', end='')
	for k in range(n3):
		if k != n3 - 1:
			print('3+', end='')
		else:
			print('3', end='')


c = input()
p = s = k = ''
for i in c:
	if i == '1':
		s = s + '1+'
	if i == '2':
		k = k + '2+'
	if i == '3':
		p = p + '3+'
ch = s + k + p
print(ch[0:len(ch) - 1])


s = str(input())
v = [int(s[i]) for i in range(len(s)) if s[i].isdigit()]
v.sort()
for i in range(len(v) - 1):
	print(v[i], end='+')
print(v[len(v) - 1])


n = input()
sequence = ''
for i in range(0, len(n), 2):
	sequence += n[i]
	new = sorted(sequence)
print('+'.join(new))


x = list(input())
y = x[::2]
y.sort()
z = []
for i in range(len(y)):
	z.append(y[i])
	z.append('+')
z.pop()
print(''.join(map(str, z)))


numbers = input().split('+')
numbers.sort()
s = '+'
s = s.join(numbers)
print(s)


a = input()
c1 = a.count('1')
c2 = a.count('2')
c3 = a.count('3')
c = c1 + c2 + c3
out = '1+' * c1 + '2+' * c2 + '3+' * c3
list = []
for i in range(len(out)):
	list.append(out[i])
list.pop(-1)
for i in list:
	print(i, end='')


string = input()
lis = []
for i in string:
	if i != '+':
		lis.append(i)
lis.sort()
d = '+'.join(lis)
print(d)


tstr = input()
tstr1 = ''
for i in '123':
	j = 0
	while j < tstr.count(i):
		tstr1 = tstr1 + i + '+'
		j = j + 1
print(tstr1[0:len(tstr1) - 1])


import math
import sys

def ri():
	return input()

def ii():
	return int(input())

def li():
	return input().split()

def mi():
	return list(map(int, input().split()))
s = ri()
s = s.split('+')
s.sort()
print('+'.join(s))


strg = str(input())
strg = strg.replace('+', '')
sortedList = sorted(list(strg))
res = ''
for word in sortedList:
	res += word + '+'
print(res[:len(res) - 1])


def corrected_string(s):
	(ones, twos, threes) = (0, 0, 0)
	n_s = []
	for i in range(0, len(s), 2):
		if ord(s[i]) == 49:
			ones += 1
		elif ord(s[i]) == 50:
			twos += 1
		elif ord(s[i]) == 51:
			threes += 1
	while ones != 0:
		n_s.append('1')
		n_s.append('+')
		ones -= 1
	while twos != 0:
		n_s.append('2')
		n_s.append('+')
		twos -= 1
	while threes != 0:
		n_s.append('3')
		n_s.append('+')
		threes -= 1
	return ''.join(n_s[:len(s)])
s = input()
print(corrected_string(s))


nums = list(map(int, input().split('+')))
nums.sort()
string = ''
for i in range(len(nums)):
	if i == nums.__len__() - 1:
		print(nums[i])
	else:
		print(nums[i], end='+')


s = list(map(int, input().split('+')))

def insertSort(l):
	for i in range(len(l)):
		tmp = l[i]
		j = i
		while j > 0 and tmp < l[j - 1]:
			l[j] = l[j - 1]
			j -= 1
		l[j] = tmp
insertSort(s)
print('+'.join((str(x) for x in s)))


import random
import threading

def merge(list):
	pos = len(list) * [0]
	res = []
	while True:
		idx = -1
		for i in range(len(list)):
			if pos[i] < len(list[i]) and (idx == -1 or list[i][pos[i]] < list[idx][pos[idx]]):
				idx = i
		if idx == -1:
			break
		res.append(list[idx][pos[idx]])
		pos[idx] += 1
	return res

class Thread(threading.Thread):

	def __init__(self, list):
		threading.Thread.__init__(self)
		self.list = list

	def run(self):
		self.list.sort()

def sort(A, N):
	(q, r) = (len(A) // N, len(A) % N)
	threads = []
	last = 0
	for i in range(N):
		n = q + int(i < r)
		threads.append(Thread(A[last:last + n]))
		last += n
	for thread in threads:
		thread.start()
	for thread in threads:
		thread.join()
	list = [thread.list for thread in threads]
	return merge(list)
list = [int(x) for x in input().split('+')]
list = sort(list, random.randint(1, len(list)))
print('+'.join([str(x) for x in list]))


def solve():
	nums = sorted([int(i) for i in input().split('+')])
	print(''.join([f'{i}+' for i in nums])[:-1])
solve()


s = input()
gg = []
for n in range(0, len(s)):
	if s[n] != '+':
		gg.append(int(s[n]))
gg.sort()
x = ''
for m in range(0, len(gg) - 1):
	x += str(gg[m]) + '+'
print(x + str(gg[len(gg) - 1]))


l1 = list(input())
while '+' in l1:
	l1.remove('+')
l2 = []
l3 = []
for i in l1:
	l2.append(eval(i))
l2.sort()
for b in l2:
	l3.append(str(b))
print('+'.join(l3))


cal = list(input())
(cta, ctb, ctc) = [0, 0, 0]
for i in range(len(cal)):
	if cal[i] == '1':
		cta += 1
	elif cal[i] == '2':
		ctb += 1
	elif cal[i] == '3':
		ctc += 1
	else:
		continue
new = []
for j in range(cta):
	new.append('1')
	new.append('+')
for k in range(ctb):
	new.append('2')
	new.append('+')
for l in range(ctc):
	new.append('3')
	new.append('+')
del new[-1]
print(''.join(new))


a = input()
a = a.split('+')
a = [int(item) for item in a]
a = sorted(a)
print(*a, sep='+')


args = input().split('+')
print('+'.join(sorted(args)))


s = input()
n1 = s.count('1')
n2 = s.count('2')
n3 = s.count('3')
string = n1 * '1+' + n2 * '2+' + n3 * '3+'
l = list(string)
del l[len(string) - 1]
print(''.join(l))


lst1 = []
lst2 = []
s = input()
s1 = ''
ln = len(s)
for i in range(0, ln, 1):
	if s[i].isdigit():
		lst1.append(s[i])
lst2 = sorted(lst1)
for i in range(0, len(lst2), 1):
	s1 = s1 + lst2[i]
	s1 = s1 + '+'
ln = len(s1)
print(s1[:ln - 1])


s = input()
numbers = []
for c in s:
	if c != '+':
		numbers.append(c)
numbers.sort()
s2 = ''
for (i, n) in enumerate(numbers):
	s2 += n
	if i != len(numbers) - 1:
		s2 += '+'
print(s2)


import os
import sys
from io import BytesIO, IOBase

def main():
	exp = list(map(str, input().split('+')))
	exp = sorted(exp)
	ans = ''
	for i in exp:
		ans += i
		ans += '+'
	print(ans[:-1])
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')

def inp():
	return int(input())

def inlt():
	return list(map(int, input().split()))

def insr():
	return input().strip()

def invr():
	return map(int, input().split())
main()


word = input()
n_word = word.split('+')
n_word.sort()
ans = '+'.join(n_word)
print(ans)


x = input()
z = []
for i in range(0, len(x), 2):
	z.append(int(x[i]))
print('+'.join(map(str, sorted(z))))


e = input()
a = sorted(e)
while '+' in a:
	a.remove('+')
print('+'.join(a))


l = input()
l = list(l)
s = []
r = len(l)
for i in range(r):
	if i % 2 == 0:
		s.append(l[i])
s.sort()
m = len(s)
for i in range(m):
	if i == m - 1:
		print(s[i], end='')
	else:
		print(s[i] + '+', end='')


import re
a = input()
b = re.sub('\\+', ' ', a)
b = a.split('+')
c = sorted(b, key=int)
d = '+'.join(map(str, c))
print(d)


import sys

def main():
	line = sorted([int(x) for x in sys.stdin.readline().strip().split('+')])
	print('+'.join((str(x) for x in line)))
main()


import sys
nums = input().split('+')
print('+'.join(sorted(nums)))


t = input()
if len(t) == 1:
	print(t)
else:
	(t, o) = (list(sorted(t.replace('+', ''))), '')
	for i in t:
		o += i + '+'
	print(o[:-1])


s = input()
if len(s) == 1:
	print(s)
else:
	ls = s.split('+')
	ls.sort()
	ls = '+'.join(ls)
	print(ls)


n = input()
n = n.replace('+', '')
lists = []
for i in range(0, len(n)):
	lists.append(n[i] + '+')
lists.sort()
delimiter = ''
output = delimiter.join(lists)
output = output[0:-1]
print(output)


from math import *
str1 = [int(i) for i in input().split('+')]
str1.sort()
for s in range(len(str1)):
	if s != len(str1) - 1:
		print(str(str1[s]) + '+', end='')
	else:
		print(str(str1[s]), end='')


n = input()
vowels = '+'
ex = ''
for i in n:
	if i not in vowels:
		ex = ex + i
t = list(ex)
t = sorted(t)
l = []
for i in range(len(t)):
	l.append(t[i])
	l.append('+')
m = ''.join((e for e in l))
print(m[0:len(m) - 1])


import sys

def line():
	return sys.stdin.readline().rstrip('\n')
print('+'.join(sorted(line().split('+'))))


class Solution:

	def solve(self, string):
		result = list(map(int, filter(lambda ch: ch.isdigit(), string)))
		result = list(map(str, sorted(result)))
		return '+'.join(result)
sol = Solution()
string = input().strip()
print(sol.solve(string))


a = str(input())
c = len(a)
d = 0
b = []
for i in range(0, c, 2):
	b = b + [int(a[i])]
b.sort()
for k in range(0, len(b)):
	if b[k] >= 1 and b[k] <= 3:
		d = d + 1
if d == len(b):
	for j in range(0, len(b)):
		if j != len(b) - 1:
			print(str(b[j]) + '+', end='')
		else:
			print(str(b[j]))


s = input()
s3 = ''
s1 = s.split('+')
s4 = list()
for i in s1:
	s4.append(int(i))
s4.sort()
for i in range(len(s4)):
	print(s4[i], end='')
	if i != len(s4) - 1:
		print('+', end='')


s = list(map(int, input().split('+')))
s.sort()
z = len(s)
for i in range(z - 1):
	print(s[i], end='+')
print(s[z - 1])


m = list(map(str, input().strip()))
l = []
for i in range(len(m)):
	l.append(m[i])
for x in range(len(l)):
	if '+' in l:
		l.remove('+')
s = []
s = sorted(l)
for i in range(len(s)):
	if i != len(s) - 1:
		s[i] = str(s[i]) + '+'
		print(s[i], end='')
	else:
		s[i] = s[i]
		print(s[i], end='')


import sys
import math
import os
data = input()
ans = []
for i in range(len(data)):
	if data[i].isdigit():
		ans.append(data[i])
ans.sort()
print('+'.join(ans))


s = input()
A = [0] * 3
for i in range(len(s)):
	if s[i] == '1':
		A[0] += 1
	elif s[i] == '2':
		A[1] += 1
	elif s[i] == '3':
		A[2] += 1
s = '1+' * A[0] + '2+' * A[1] + '3+' * A[2]
print(s[:len(s) - 1])


def ekle(errey, sayi, number):
	for i in range(sayi):
		errey.append(number)
n = input()
k = 0
array = []
one = n.count('1')
two = n.count('2')
three = n.count('3')
ekle(array, one, 1)
ekle(array, two, 2)
ekle(array, three, 3)
array.sort()
print(*array, sep='+')


s = input()
if '+' not in s:
	print(s)
else:
	s = s.split('+')
	s.sort()
	out = s[0]
	for i in range(1, len(s)):
		out += '+{}'.format(s[i])
	print(out)


s = input()
l = []
l1 = []
for i in range(0, len(s), 2):
	l.append(int(s[i]))
l.sort()
for i in range(len(l)):
	if i != len(l) - 1:
		l1.append(str(l[i]))
		l1.append('+')
	else:
		l1.append(str(l[i]))
s1 = ''.join(l1)
print(s1)


s = map(str, input().split('+'))
x = sorted(s)
m = '+'
y = m.join(x)
print(y)


x = input()
temp = ''
templist = []
for i in x:
	if i in '123':
		templist.append(i)
templist.sort()
for f in templist:
	if f.isdigit():
		temp = temp + f + '+'
loop = 0
while loop < len(temp) - 1:
	print(temp[loop], end='')
	loop += 1


ls = input().split('+')
b = '+'.join(sorted(ls))
print(b)


a = input().split('+')
a.sort(reverse=False)
final = []
for i in a:
	final.append(i)
	final.append('+')
final.pop()
b = ''.join(final)
print(b)


n = input()
hema = []
for i in n:
	if i != '+':
		hema.append(i)
hema = sorted(hema)
for i in range(len(hema)):
	if i != len(hema) - 1:
		a = str(hema[i]) + '+'
		print(a, end='')
	else:
		print(hema[i])


s = input()
s1 = s.replace('+', '')
s = sorted(s1)
print('+'.join(map(str, s)))


b = list(map(int, input().split('+')))
b.sort()
m = str(b[0])
for i in range(len(b) - 1):
	m += '+' + str(b[i + 1])
print(m)


c = [int(x) for x in input().split('+')]
d = []
for i in sorted(c):
	d.append(i)
	d.append('+')
for i in range(len(d) - 1):
	print(d[i], end='')


s = input()
a = 0
b = 0
c = 0
for i in s:
	if i == '+':
		continue
	elif i == '1':
		a += 1
	elif i == '2':
		b += 1
	elif i == '3':
		c += 1
s = ''
l = a + b + c
for i in range(0, l):
	if a > i:
		s += '1'
	elif b > i - a:
		s += '2'
	elif c > i - a - b:
		s += '3'
	if i < l - 1:
		s += '+'
print(s)


a = input()
a = str(a)
a = list(a)
if 1:
	if '+' not in a:
		x = a[0]
	elif '+' in a:
		a.sort()
		x = ''
		for i in range(len(a)):
			if a[i] != '+':
				if i != len(a) - 1:
					x = x + a[i] + '+'
				if i == len(a) - 1:
					x = x + a[i]
	print(x)


s1 = input()
s2 = ''
l1 = []
for i in range(len(s1)):
	if s1[i] != '+':
		l1.append(s1[i])
l1.sort()
for i in l1:
	s2 += i
for i in range(len(s2)):
	print(s2[i], end='')
	if i < len(s2) - 1:
		print('+', end='')


def sum_string():
	num = input('')
	s = '+'
	l = []
	for i in num:
		if i.isdigit():
			l.append(i)
	l.sort()
	s = s.join(l)
	return s
print(sum_string())


import re
s = input()
li = []
li = re.findall('\\d+', s)
li = sorted(li)
le = len(li)
if le == 1:
	print(int(li[0]))
else:
	for x in range(le - 1):
		print(str(li[x]) + '+', end='')
	print(int(li[le - 1]), end='')


input = input()
out = []
no = len(input)
for x in range(0, no, 2):
	out.append(input[x])
out.sort()
out_l = len(out)
i = 0
while i < out_l:
	if i == out_l - 1:
		print(out[i])
	else:
		print(out[i] + '+', end='')
	i += 1


a = input()
li = a.split('+')
li = sorted(li)
s = li[0]
for i in li[1:]:
	s += '+' + i
print(s)


x = [int(x) for x in input().split('+')]
x.sort()
print(*x, sep='+')
end = ' '


s = input()
s = s.split('+')
s.sort()
k = list(s)
p = '+'.join(s)
print(p)


x = map(int, input().split('+'))
print(*sorted(x), sep='+')


lst = list(map(int, input().split('+')))
lst.sort()
lst = list(map(str, lst))
result = ''
for i in lst[1:]:
	result += '+' + i
print(lst[0] + result)


s = input()
l = s.split('+')
l.sort()
z = len(l)
for i in range(z):
	print(l[i], end='')
	if i < z - 1:
		print('+', end='')


s = input()
s = sorted(s.split('+'))
r = ''
for i in range(len(s) - 1):
	r += s[i]
	r += '+'
print(r + s[len(s) - 1])


s = input()
l = s.split('+')
l.sort(reverse=True)
k = str()
for n in l:
	k = n + '+' + k
print(k[:len(k) - 1])


a = input()
lst = []
for i in range(0, len(a), 2):
	lst.append(a[i])
lst.sort()
lst1 = []
for i in range(len(lst)):
	lst1.append(lst[i])
	lst1.append('+')
p = ''.join(lst1)
p = p[:-1]
print(p)


import sys
n = list(input())
n1 = []
for i in range(len(n)):
	if n[i] != '+':
		n1.append(int(n[i]))
n1.sort()
for i in range(len(n1)):
	if i != len(n1) - 1:
		print(n1[i], end='+')
	else:
		print(n1[i])


formula = input()
nums = formula.split('+')
l = len(nums)
nums.sort()
for i in range(l):
	if i == 0:
		print(nums[i], end='')
	else:
		print('+', end='')
		print(nums[i], end='')


s = input().split('+')
a = []
for i in range(len(s)):
	a.append(int(s[i]))
a.sort()
for i in range(len(a) - 1):
	print(a[i], end='+')
print(a[len(a) - 1])


strng = input().split('+')
strng.sort()
print('+'.join(strng))


ranga = input()
ranga_lst = ranga.split('+')
ranga_lst.sort()
output = '+'.join(ranga_lst)
print(output)


s = input()
s = s.replace('+', '')
s = [int(x) for x in s]
s.sort()
s1 = ''.join((str(e) for e in s))
print('+'.join(s1))


s = str(input())
w = []
for i in s:
	if i != '+':
		w.append(int(i))
w.sort()
print(*w, sep='+')


s = input()
nums = list(s[0:len(s):2])
nums.sort()
j = 0
for i in range(len(s)):
	if i % 2 == 0:
		print(nums[j], end='')
		j += 1
	else:
		print('+', end='')


n = input()
p = sorted(n[::2])
print(*p, sep='+')


eingabe = str(input()).split('+')
ausgabe = ''
eingabe.sort()
for i in range(2 * len(eingabe) - 1):
	if i % 2 == 1:
		eingabe.insert(i, '+')
for i in range(len(eingabe)):
	ausgabe = ausgabe + eingabe[i]
print(ausgabe)


n = input()
a = n.replace('+', '')
b = []
for i in range(len(a)):
	c = int(a[i])
	b.append(c)
b.sort()
d = ''
for i in range(len(b)):
	if i < len(b) - 1:
		d = d + str(b[i]) + '+'
	else:
		d = d + str(b[i])
print(d)


nums = list(map(int, input().split('+')))
nums = sorted(nums)
temp = ''
for i in range(len(nums)):
	temp = temp + str(nums[i]) + '+'
print(temp[:-1])


nums = list(map(int, input().strip().split('+')))
nums = sorted(nums)
for i in range(len(nums)):
	nums[i] = str(nums[i])
res = '+'.join(nums)
print(res)


s = input()
l = []
for i in s:
	if i == '+':
		continue
	else:
		l.append(i)
l.sort()
k = []
for i in range(2 * len(l) - 1):
	if i % 2 == 0:
		k.append(l[i // 2])
	else:
		k.append('+')
print(''.join((str(e) for e in k)))


array = [0, 0, 0]
str = input()
for i in str:
	if i != '+':
		array[int(i) - 1] += 1
res = '+'.join('1' * array[0] + '2' * array[1] + '3' * array[2])
print(res)


def main():
	i = input().split('+')
	i.sort()
	s = ''
	for a in range(len(i)):
		if a != len(i) - 1:
			s += str(i[a]) + '+'
		else:
			s += str(i[a])
	print(s)
main()


s = input().split('+')
c1 = 0
c2 = 0
c3 = 0
for i in s:
	if i == '1':
		c1 += 1
	if i == '2':
		c2 += 1
	if i == '3':
		c3 += 1
if c1 == 0:
	if c2 != 0:
		print('2' + '+2' * (c2 - 1) + '+3' * c3)
	if c2 == 0:
		print('3' + '+3' * (c3 - 1))
if c1 != 0:
	print('1' + '+1' * (c1 - 1) + '+2' * c2 + '+3' * c3)


s = input()
num = []
for i in range(len(s)):
	if i % 2 == 0:
		num.append(s[i])
num.sort()
for i in range(len(s)):
	if i % 2 == 0:
		print(num[i // 2], end='')
	else:
		print('+', end='')
print()


original = list(input())
for x in original:
	if x == '+':
		original.remove(x)
original.sort()
final = []
for x in original:
	final.append(x)
	final.append('+')
print(''.join(final[:-1]))


a = input().split('+')
b = [int(i) for i in a]
b.sort()
for i in range(len(b)):
	print(b[i], end='')
	if i != len(b) - 1:
		print('+', end='')


daude = input()
daude = daude.split('+')
daude = sorted(daude)
print('+'.join(daude))


sums = input()
y = []
letter = ''
for x in range(len(sums)):
	if sums[x] == '+':
		continue
	else:
		y.append(sums[x])
y.sort()
for z in range(len(y)):
	letter += y[z] + '+'
print(letter[0:len(sums)])


A = input()
B = []
D = []
for i in A:
	if i == '1' or i == '2' or i == '3':
		i = int(i)
		B.append(i)
B.sort()
for k in B:
	k = str(k)
	D.append(k)
s = '+'
C = s.join(D)
print(C)


d = input()
s = d.split('+')
s.sort()
d = '+'.join(s)
print(d)


s = input()
s = list(sorted(s.split('+'), key=lambda x: int(x)))
print('+'.join([str(x) for x in s]))


question = input()
print('+'.join(sorted(question.split('+'))))


string_input = input().split('+')
sorted_list = sorted(string_input)
print('+'.join(sorted_list))


string = input()
string_L = list(string)
sorted_L = sorted(string_L)
outcome = []
sorted_L = [x for x in sorted_L if x != '+']
for i in range(len(sorted_L)):
	if i == len(sorted_L) - 1:
		outcome.append(sorted_L[i])
	else:
		outcome.append(sorted_L[i] + '+')
outcome_o = ''.join(outcome)
print(outcome_o)


inp = input()
if len(inp) <= 1:
	print(inp)
	exit()
the_list = inp.split('+')
the_list = [int(i) for i in the_list]
the_list.sort()
res = ''
for i in the_list:
	res += str(i) + '+'
res = res[:-1]
print(res)


from sys import stdin

def func_name(s):
	a = s.split('+')
	a.sort()
	return '+'.join(a)
a = stdin.readline().strip()
print(func_name(a))


S = input()
digets = [x for x in S if x not in ['+', '-']]
digets.sort()
print('+'.join(digets))


from sys import stdin, stdout
cin = stdin.readline
cout = stdout.write

def ii():
	return int(cin())

def li():
	return list(map(int, cin().split()))
s = cin().strip().split('+')
s.sort()
print('+'.join(s))


S = input()
ones = S.count('1')
twos = S.count('2')
threes = S.count('3')
ans = ''
while ones > 0:
	if len(ans) == 0:
		ans += '1'
		ones -= 1
	else:
		ans += '+1'
		ones -= 1
while twos > 0:
	if len(ans) == 0:
		ans += '2'
		twos -= 1
	else:
		ans += '+2'
		twos -= 1
while threes > 0:
	if len(ans) == 0:
		ans += '3'
		threes -= 1
	else:
		ans += '+3'
		threes -= 1
print(ans)


s = input()
t = s.split('+')
t.sort()
print('+'.join(t))


s = input()
my_list = s.split('+')
my_list.sort()
string = '+'.join(my_list)
print(string)


s = input().split('+')
s.sort()
o = ''
for i in s:
	o += i + '+'
print(o[0:-1])


n = input()
s = ''
if '+' not in n:
	print(int(n))
else:
	l = n.split('+')
	l.sort()
	for i in range(len(l) - 1):
		s = s + l[i] + '+'
	s = s + l[-1]
	print(s)


a = input('')
t = []
for i in range(0, len(a), 2):
	t.append(int(a[i]))
t.sort()
for i in range(len(t) - 1):
	print(str(t[i]) + '+', end='')
print(str(t[len(t) - 1]))


s = input()
c1 = s.count('1')
c2 = s.count('2')
c3 = s.count('3')
ans = ''
while c1:
	ans += '1+'
	c1 -= 1
while c2:
	ans += '2+'
	c2 -= 1
while c3:
	ans += '3+'
	c3 -= 1
ans = ans[:-1]
print(ans)


s = input()
if len(s) <= 2:
	print(s)
else:
	new = s.split('+')
	new.sort()
	l = len(new)
	for i in range(len(new)):
		if i == l - 1:
			print(new[i], end='')
		else:
			print(new[i] + '+', end='')


s = input()
lis = []
for i in range(len(s)):
	if s[i].isdigit() == True:
		lis.append(s[i])
lis.sort()
for j in range(len(lis)):
	if j != len(lis) - 1:
		print(lis[j] + '+', end='')
	else:
		print(lis[j], end='')


token = input()
lista = token.split('+')
lista.sort()
count = 0
for i in range(len(lista)):
	print(lista[i], end='')
	if count == len(lista) - 1:
		print('')
	else:
		print('+', end='')
	count += 1


l = [int(x) for x in input().split('+')]
l = sorted(l)
st = [str(x) for x in l]
s = '+'.join(st)
print(s)


s = input()
l = []
for i in range(len(s)):
	if s[i] in '123':
		l.append(int(s[i]))
l.sort()
a = ''
for i in l:
	a = a + str(i) + '+'
print(a[:len(a) - 1])


a = input().split('+')
ans = ''
a.sort()
for var in a:
	ans += var + '+'
print(ans[:-1])


s = input()
lst = list(s)
for i in range(0, len(lst), 2):
	k = i
	for j in range(i - 2, -1, -2):
		if lst[j] > lst[k]:
			(lst[j], lst[k]) = (lst[k], lst[j])
			k = j
lst = ''.join(lst)
print(lst)


s = list(input())
s1 = []
l = len(s)
l = l // 2
for i in range(len(s) - l):
	if s[i] == '+':
		del s[i]
s.sort()
s.insert(0, 0)
i = 0
while i < len(s) - 1:
	i += 2
	s.insert(i, '+')
print(*s[1:-1], sep='')


msk = sorted(input())
s = msk[msk.count('+'):]
print(*s, sep='+')


import re
nl = re.findall('\\d', input())
nl.sort()
print('+'.join(nl))


temp = input().split(' ')
y = ''.join(temp)
x = y.replace('+', '')
u = list(x)
num = []
for y in range(len(u)):
	num.append(int(u[y]))
num = sorted(num)
up = list(str(num))
print(*num, sep='+')


k = input()
d = []
l = [k[i:i + 1] for i in range(0, len(k), 1)]
for i in l:
	if i != '+':
		d.append(i)
d.sort()
t = ''
for i in range(len(d)):
	t = t + (d[i] + '+')
print(t[:len(t) - 1])


st = input()
a = []
for i in range(0, len(st)):
	if st[i].isdigit():
		a.append(st[i])
a.sort()
for i in range(0, len(a) - 1):
	print(str(a[i]) + '+', end='')
print(a[len(a) - 1])


s = list(map(str, input().split('+')))
s.sort()
print(*s, sep='+')


num = list(map(int, input().split('+')))
num.sort()
num = list(map(str, num))
print('+'.join(num))


n = input()
q = sorted(n.replace('+', ''))
res = '+'.join(q)
print(res)


import math

def main():
	numbers = input().split('+')
	numbers.sort()
	print('+'.join([str(x) for x in numbers]))
main()


l = input().split('+')
l.sort()
msg = l[0]
for x in l[1:]:
	msg = msg + '+' + x
print(msg)


import sys
sum_str = sys.stdin.readline().rstrip('\n')
sum_str = sum_str.split('+')
sum = [int(i) for i in sum_str]
sum = sorted(sum)
new_sum = ''
for i in range(len(sum)):
	if i < len(sum) - 1:
		new_sum += str(sum[i]) + '+'
	else:
		new_sum += str(sum[i])
print(new_sum)


stringNum = input()
newList = []
for i in stringNum:
	if i != '+':
		newList.append(i)
newList.sort()
newSum = '+'.join(newList)
print(newSum)


s = input()
no = []
for v in s:
	if v != '+':
		no.append(v)
no.sort()
n = len(no)
for i in range(n - 1):
	print(no[i], end='+')
print(no[-1])


import re
n = input()
n = re.split('\\+', n)
n.sort()
output_string = ''
for item in n:
	output_string += item + '+'
print(output_string[:-1])


n = input()
n = n.split('+')
n.sort()
print('+'.join(map(str, n)))


sumNumbersStrings = input()
sumNumber = sumNumbersStrings.split('+')
sumNumber.sort()
output = ''
for i in sumNumber:
	output = output + str(i) + '+'
print(output.strip('+'))


math = str(input())
x = math.replace('+', '')
x = sorted(x)
a = ''.join(x)
a = '+'.join(a)
print(a)


line = str(input())
list1 = []
n = len(line)
for i in range(n):
	if line[i] != '+':
		list1.append(line[i])
	else:
		continue
list1.sort()
n = len(list1)
k = list1[0]
for i in range(n - 1):
	k = k + '+' + list1[i + 1]
print(k)


import math
from collections import defaultdict
ml = lambda : map(int, input().split())
ll = lambda : list(map(int, input().split()))
ii = lambda : int(input())
ip = lambda : input()
n = ip()
lol = []
for i in range(0, len(n), 2):
	lol.append(int(n[i]))
lol.sort()
print(lol[0], end='')
for i in range(1, len(lol)):
	print('+', end='')
	print(lol[i], end='')


def string_task(stmt):
	stmt_arr = stmt.split('+')
	stmt_arr = sorted(stmt_arr)
	return '+'.join(stmt_arr)
stmt = input()
print(string_task(stmt))


i = [int(k) for k in input().split('+')]
i.sort()
print('+'.join((str(k) for k in i)))


def merge_sort(a, start_index, end_index):
	if start_index == end_index:
		return [a[start_index]]
	middle = (start_index + end_index) // 2
	x = merge_sort(a, start_index, middle)
	y = merge_sort(a, middle + 1, end_index)
	return merge(x, y)

def merge(a, b):
	c = []
	i = 0
	j = 0
	while i < len(a) and j < len(b):
		if a[i] < b[j]:
			c.append(a[i])
			i += 1
		else:
			c.append(b[j])
			j += 1
	while i < len(a):
		c.append(a[i])
		i += 1
	while j < len(b):
		c.append(b[j])
		j += 1
	return c
numbers = [int(i) for i in input().split('+')]
sorted_numbers = merge_sort(numbers, 0, len(numbers) - 1)
print('+'.join([str(i) for i in sorted_numbers]))


s = list(input())
s.sort()
s = s[len(s) // 2:]
for i in range(len(s)):
	print(s[i], end='')
	if i != len(s) - 1:
		print('+', end='')


lis = []
second_lis = []
n = input()
if len(n) > 1:
	for i in range(len(n)):
		lis.append(n[i])
	lis.sort()
	m = ''.join(lis)
	if m.find('1') > -1:
		index_1 = m.find('1')
		for nums in range(index_1, len(m)):
			second_lis.append(m[nums])
		output = '+'.join(second_lis)
		print(output)
	elif m.find('2') > -1:
		index_1 = m.find('2')
		for nums in range(index_1, len(m)):
			second_lis.append(m[nums])
		output = '+'.join(second_lis)
		print(output)
	else:
		index_1 = m.find('3')
		for nums in range(index_1, len(m)):
			second_lis.append(m[nums])
		output = '+'.join(second_lis)
		print(output)
else:
	print(n)


import sys
line = sys.stdin.readline()[:-1]
a = line.split('+')
a.sort()
print('+'.join(a))


bush = [int(a) for a in input().split('+')]
bush.sort()
s = ''
for i in bush:
	s += str(i) + '+'
st = s[:-1]
print(st)


import math
s = list(input())
s.sort()
l = len(s)
arr = []
for i in range(l):
	if i <= l - (math.ceil(l / 2) + 1):
		arr.append(s[i + math.ceil(l / 2) - 1])
		arr.append(s[i])
print(''.join(arr) + s[l - 1])


numbers = input()
line = sorted(numbers.split('+'))
go = ''
for i in line:
	go = go + i + '+'
print(go[:-1])


def main():
	operands = input('').split('+')
	for i in range(0, len(operands)):
		operands[i] = int(operands[i])
	operands.sort()
	for i in range(0, len(operands)):
		print(operands[i], end='')
		if i == len(operands) - 1:
			print('')
		else:
			print('+', end='')
main()


s = input()
a = list(map(int, s.split('+')))
a.sort()
res = ''
for i in a:
	res = res + str(i) + '+'
res = res[:-1]
print(res)


while True:
	ip_exprssn = input()
	ip_list = ip_exprssn.split(sep='+')
	if len(ip_exprssn) == 0:
		break
	elif len(ip_list) > 100:
		break
	else:
		ip_list.sort()
		final_exprssn = '+'.join(ip_list)
		print(final_exprssn)
		break


arr = [int(i) for i in input().split('+')]
arr.sort()
print(*arr, sep='+')


input = input()
length = int(len(input) - int(len(input) / 2))
num = input.split('+')
first = 0
num = sorted(num)
for i in range(length):
	if i == length - 1:
		print(num[i], '', end='', sep='')
	else:
		print(num[i], '+', end='', sep='')


a = input().split('+')
a.sort()
string = ''
for element in a:
	string += '+'
	string += element
print(string[1:])


s = str(input())
s = s.split('+')
new_s = [int(item) for item in s]

def counting_sorting(alist):
	occurrence = [0] * 3
	for item in alist:
		occurrence[item - 1] += 1
	output = []
	for i in range(3):
		output.extend([str(i + 1)] * occurrence[i])
	return output
new_s = counting_sorting(new_s)
new_s = '+'.join(new_s)
print(new_s)


s = input()
string_size = len(s)
l = []
lf = []
ls = []
for ch in s:
	if ch != '+':
		l.append(ch)
ls = sorted(l)
for i in ls:
	lf.append(i)
	lf.append('+')
for c in range(0, string_size):
	print(lf[c], end='')


def insertion_sort_increase(lst):
	for i in range(1, len(lst)):
		x = lst[i]
		j = i
		result = 0
		while j > 0 and result == 0:
			if lst[j - 1] > x:
				lst[j] = lst[j - 1]
				j -= 1
			else:
				result = j
		lst[result] = x
	return lst
s = input()
i = 0
lst = []
while i < len(s):
	lst.append(s[i])
	i += 2
insertion_sort_increase(lst)
for i in range(len(lst)):
	if i != len(lst) - 1:
		print(lst[i], end='')
		print('+', end='')
	else:
		print(lst[i], end='')


expr = sorted(input().split('+'))
print('+'.join(expr))


a = input()
count = 0
temp = []
for i in a:
	if i.isnumeric():
		temp.append(i)
	else:
		count += 1
temp = sorted(temp)
plc = 1
while count:
	temp.insert(plc, '+')
	plc += 2
	count -= 1
temp = ''.join(temp)
print(temp)


s = input()
new = sorted(s.split('+'))
print('+'.join(new), end='')


n = input()
s = [0 for _ in range((len(n) + 1) // 2)]
for i in range((len(n) + 1) // 2):
	s[i] = n[2 * i]
print('+'.join(sorted(s)))


equation = input().split()
numbers = equation[0].split('+')
numbers.sort()
op = '+'
str_1 = op.join(numbers)
print(str_1)


s = list(map(int, input().split('+')))
s = sorted(s)
if len(s) > 1:
	for i in range(len(s) - 1):
		print(str(s[i]) + '+', end='')
print(s[len(s) - 1])


n = input()
sp = []
for i in range(len(n)):
	if n[i] == '1':
		sp.append(1)
	if n[i] == '2':
		sp.append(2)
	if n[i] == '3':
		sp.append(3)
sp.sort()
st = ''
for i in sp:
	st = st + str(i)
	st = st + '+'
print(st[:-1])


import sys
string = input()
array = []
for i in string:
	if i != '+':
		array.append(int(i))
array.sort()
string = list(string)
for i in range(len(array)):
	string[i * 2] = str(array[i])
string = ''.join(string)
print(string)


N = input()
v = len(N) // 2 + 1
u = N.count('1')
d = N.count('2')
t = N.count('3')
r = '1+' * u + '2+' * d + '3+' * t
q = len(r) - 1
print(r[:q])


In = sorted(input().split('+'))
Out = '+'.join(In)
print(Out)


a = input()
a = list(a)
n = len(a)
b = []
for i in range(len(a)):
	if a[i] == '+':
		continue
	else:
		b.append(a[i])
b.sort()
j = 0
for i in range(len(a)):
	if i % 2 == 0:
		a[i] = b[j]
		j = j + 1
print(''.join(a))


n = list(input())
l = len(n)
if l > 1:
	p = []
	for i in range(0, l, 2):
		p.append(n[i])
	p = sorted(p)
	h = []
	for i in range(l):
		if i % 2 == 0:
			h.append(str(p[i // 2]))
		else:
			h.append(str(n[i]))
	print(''.join((str(x) for x in h)))
else:
	print(n[0])


data = [i for i in input() if i.isdigit()]
data.sort()
answer = data.pop(0)
for i in data:
	answer += '+' + i
print(answer)


s = input()
string_list = s.split('+')
num_list = []
for string in string_list:
	num_list.append(int(string))
num_list.sort()
for i in range(len(num_list)):
	if i == len(num_list) - 1:
		print(str(num_list[i]), end='')
	else:
		print(str(num_list[i]) + '+', end='')


from sys import stdin, stdout
a = stdin.readline()[:-1].split('+')
b = ''.join((e + '+' for e in sorted(a)))[:-1]
print(b)


def solution(s):
	return '+'.join(sorted(s.split('+')))
s = input()
print(solution(s))


s = input()
n_s = ''
for i in s:
	if i != '+':
		n_s = n_s + i
li = sorted([int(i) for i in n_s])
an_s = str(li[0])
for i in range(1, len(li)):
	an_s = an_s + '+' + str(li[i])
print(an_s)


a = str(input())
a = a.replace('+', '')
arr = []
for i in range(len(a)):
	arr.append(int(a[i]))
arr.sort()
arr2 = []
for i in arr:
	arr2.append(str(i))
z = '+'.join(arr2)
print(z)


string = input()
final = []
for i in sorted(string):
	if i != '+':
		final.append(i)
fin = '+'.join(final)
print(fin)


s = input()
while '+' in s:
	s = s.replace('+', ' ')
l = list(s.split())
l.sort()
for i in range(len(l) - 1):
	print(l[i], end='+')
print(l[-1])


s = input().split('+')
s.sort()
if len(s) < 2:
	print(s[0])
else:
	for i in range(0, len(s) - 1):
		print(s[i], end='+')
	print(s[-1])


i = input()
s = ''
for c in i:
	if c not in '+':
		s += c
print('+'.join(sorted(s)))


s = input()
l = []
for i in s:
	if i.isdigit():
		l.append(i)
l.sort()
n = len(l)
k = ''
for i in range(0, n):
	k += l[i] + '+'
p = ''
p += k[0:len(k) - 1]
print(p, end=' ')


def main():
	sum_on_the_board = input()
	sorted_numbers = sorted(sum_on_the_board.split(sep='+'))
	rewritten_sum = ''.join((number + '+' for number in sorted_numbers))[:-1]
	print(rewritten_sum)
main()


prueba = input()
unos = ''
doces = ''
treces = ''
for num in prueba:
	if num == '+':
		continue
	elif num == '1':
		unos = unos + '1+'
	elif num == '2':
		doces = doces + '2+'
	elif num == '3':
		treces = treces + '3+'
print((unos + doces + treces)[:-1])


import sys
s = input()
s = list(s)
length = len(s)
l = []
num = 0
for i in range(length // 2 + 1):
	var = s[num]
	l.append(var)
	num += 2
k = []
for i in range(length // 2):
	k.append(min(l))
	l.remove(min(l))
	k.append('+')
k.append(min(l))
f = ''.join(k)
print(f)


slist = list(input())
slist = [x for x in slist if x != '+']
print('+'.join(sorted(slist)))


string = input()
if len(string) == 1:
	print(string)
else:
	numbers = string.split('+')
	removal = []
	for i in range(len(numbers)):
		if numbers[i] == '':
			removal.append(i)
		removal.sort(reverse=True)
	for x in removal:
		numbers.pop(x)
	for i in range(len(numbers)):
		numbers[i] = int(numbers[i])
	numbers.sort()
	for i in range(len(numbers)):
		numbers[i] = str(numbers[i])
	print('+'.join(numbers))


s = input()
k = s.split('+')
kk = list(map(int, k))
kk = sorted(kk)
l = list(map(str, kk))
m = '+'.join(l)
print(m)


s = input()
n = ''
for i in range(len(s)):
	if i % 2 == 0:
		n += s[i]
n = '+'.join(sorted(n))
print(n)


s = input()
a = [0, 0, 0, 0]
ss = ''
for i in range(0, len(s), 2):
	n = int(s[i])
	a[n] = a[n] + 1
for i in range(a[1]):
	ss = ss + '1+'
for i in range(a[2]):
	ss = ss + '2+'
for i in range(a[3]):
	ss = ss + '3+'
print(ss[:-1])


a = input()
l = list(map(int, a.strip().split('+')))
l.sort()
l = map(str, l)
z = '+'.join(l)
print(z)


n = list(input())
s = n.count('+')
for i in range(s):
	n.remove('+')
l = []
for i in range(len(n)):
	f = int(n[i])
	l.append(f)
l.sort()
y = len(l)
for i in range(y):
	if i == y - 1:
		print(l[i])
	else:
		print(l[i], end='')
		print('+', end='')


a = input()
b = []
for i in range(len(a)):
	if a[i] != '+':
		b.append(a[i])
b.sort()
print('+'.join(b))


s = input()
s1 = []
for i in s:
	if i != '+':
		s1.append(i)
s1 = list(map(int, s1))
s1.sort()
s1 = list(map(str, s1))
s2 = []
s2.append(s1[0])
for i in range(1, len(s1)):
	s2.append('+' + s1[i])
print(''.join(s2))


s = [int(x) for x in input().split('+')]
r = ''
d = [0, 0, 0]
for i in s:
	d[i - 1] += 1
for i in range(0, 3):
	r += (str(i + 1) + '+') * d[i]
print(r[:len(r) - 1])


a = [int(y) for y in input().split('+')]
a.sort()
a = [str(y) for y in a]
print('+'.join(a))


word = input()
list = word.split('+')
arr = []
for i in range(len(list)):
	arr.append(int(list[i]))
arr.sort()
s = str(arr[0])
for i in range(1, len(arr)):
	s = s + '+' + str(arr[i])
print(s)


s = input()
if len(s) == 1:
	print(s)
elif len(s) > 1:
	dig = ''
	final = ''
	for i in s:
		if i.isdigit():
			dig = dig + i
	sor_dig = sorted(dig)
	final = sor_dig[0]
	for i in range(1, len(sor_dig)):
		final = final + '+' + sor_dig[i]
	print(final)


inp = [int(x) for x in input().split('+')]
for i in range(len(inp) - 1):
	for j in range(i + 1, len(inp)):
		if inp[i] > inp[j]:
			temp = inp[i]
			inp[i] = inp[j]
			inp[j] = temp
for i in range(len(inp)):
	if i == len(inp) - 1:
		print(inp[i])
	else:
		print(inp[i], end='+')


a = [int(i) for i in input().split('+')]
a.sort()
print(*a, sep='+')


summands = input()
newsummand = ''
numbers = []
for element in summands:
	if element != '+':
		numbers.append(int(element))
numbers.sort()
for number in numbers:
	newsummand = newsummand + str(number) + '+'
print(newsummand[:len(newsummand) - 1])


list1 = input().split('+')
list1 = [int(a) for a in list1]
dic = {}
list2 = []
list1.sort()
for i in range(0, len(list1)):
	if i is len(list1) - 1:
		print(list1[i])
	else:
		print(list1[i], end='+')


s = input()
i = 0
s = s.replace('+', '')
s = sorted(s, key=str.lower)
s1 = ''
for i in range(len(s)):
	s1 += s[i]
i = 1
while i < len(s1):
	s1 = s1[:i] + '+' + s1[i:]
	i += 2
print(s1)


str = input()
num_list = []
for i in range(len(str)):
	if i % 2 == 0:
		num_list.append(str[i])
num_list.sort()
new = '+'.join(num_list)
print(new)


sh = input()
l = sh.split('+')
f = [int(i) for i in l]
f.sort()
sh = ''
for i in f:
	sh = sh + '+' + str(i)
print(sh[1:])


s = input()
s = s.split('+')
s.sort()
s1 = ''
for i in s:
	s1 += i + '+'
print(s1[:-1])


b = []
str = []
a = input()
if len(a) == 1:
	print(a)
else:
	for i in a:
		if i != '+':
			b.append(i)
b.sort()
for i in range(len(b)):
	if i == len(b) - 1:
		print(b[i], end='')
		break
	else:
		print(b[i] + '+', end='')


def go(s):
	ls = []
	for i in s:
		if i != '+':
			ls += (i,)
	ls.sort(key=lambda x: int(x))
	return '+'.join(ls)
ls = input()
print(go(ls))


string = [i for i in input()]
newstring = []
for a in string:
	if not a == '+':
		newstring.append(a)
head = 0
while True:
	for a in range(head, len(newstring)):
		if newstring[head] > newstring[a]:
			temp = newstring[a]
			newstring[a] = newstring[head]
			newstring[head] = temp
	head += 1
	if head == len(newstring):
		break
printstring = str(newstring[0])
for a in range(1, len(newstring)):
	printstring = printstring + '+' + newstring[a]
print(printstring)


s = input()
s_list = list(s)
for i in range(len(s) // 2):
	s_list.remove('+')
s_list.sort()
s = '+'.join(s_list)
print(s)


q = input()
w = []
for i in range(0, (len(q) + 1) // 2):
	w.append(int(q[2 * i]))
w.sort()
e = str(w[0])
for i in range(1, (len(q) + 1) // 2):
	e = e + '+' + str(w[i])
print(e)


inputList = input().split('+')
sortedList = sorted(inputList)
res = '+'.join(sortedList)
print(res)


a = input()
b = list(a)
b.sort()
b[:] = [el for el in b if el != '+']
c = '+'.join(b)
print(c)


s = input()
l = s.split('+')
l.sort()
k = ''
for i in l:
	k += i
print('+'.join(k))


s = input()
a1 = s.count('1')
a2 = s.count('2')
a3 = s.count('3')
s_out = '1' * a1 + '2' * a2 + '3' * a3
print('+'.join(list(s_out)))


n = list(input().split('+'))
if '1' in n:
	x = n.count('1')
	a = '1+' * x
	n.remove('1')
else:
	a = ''
if '2' in n:
	y = n.count('2')
	b = '2+' * y
	n.remove('2')
else:
	b = ''
if '3' in n:
	z = n.count('3')
	c = '3+' * z
	n.remove('3')
else:
	c = ''
h = a + b + c
if len(h) > 1:
	print(h[:-1])
else:
	print(h)


list1 = [int(x) for x in input().split('+')]
list1.sort()
list2 = []
for num in list1:
	list2.append(str(num))
print('+'.join(list2))


line = list(input().split('+'))
n_list = list(filter(lambda x: x.isdigit(), line))
n_list.sort()
res = ''
for c in n_list:
	res += str(c) + '+'
res = res[0:-1]
print(res)


li = list(map(str, input().split('+')))
li = sorted(li)
for i in range(len(li)):
	if i == 0:
		print(li[i], end='')
	else:
		print('+' + li[i], end='')


def main():
	summans = input()
	ints = summans.split('+')
	ints.sort()
	print('+'.join(ints))
main()


str = input()
length = len(str)
str = list(str)
j = 2
while j < length:
	key = str[j]
	i = j - 2
	while i >= 0 and str[i] > key:
		str[i + 2] = str[i]
		i = i - 2
	str[i + 2] = key
	j = j + 2
str = ''.join(str)
print(str)


def check(s):
	s = s.split('+')
	s = [int(i) for i in s]
	s.sort()
	s = [str(i) for i in s]
	s = '+'.join(s)
	return s
s = input()
print(check(s))


my_exp = input()
my_exp = sorted(my_exp)
my_list = []
new_line = ''
for char in my_exp:
	if '+' != char:
		my_list.append(char)
		my_list.append('+')
new_exp = my_list[:-1]
for i in new_exp:
	new_line = new_line + i
print(new_line)


a = input()
b = '123+'
c = list(a)
for i in c:
	if i == '+':
		c.remove(i)
c.sort()
m = '+'.join(c)
print(m)


string = []
[string.append(value) for value in input() if value != '+']
string.sort()
new_string = '+'.join(string)
print(new_string, sep='')


def prepare(some_str):
	s = some_str.split('+')
	s = sorted(s)
	str = ''
	for i in range(len(s)):
		str += s[i]
		if i < len(s) - 1:
			str += '+'
	return str
word = input()
print(prepare(word))


s = list(map(str, input().split('+')))
if 1 <= len(s) <= 100:
	s.sort()
	for i in range(len(s) - 1):
		print(s[i] + '+', end='')
	print(s[-1])


sequence = input()
values = list(map(int, sequence.split('+')))
values.sort()
strlist = [str(value) for value in values]
output = '+'.join(strlist)
print(output)


input = input('')
length = 1
for char in input:
	if char == '+':
		length = length + 1
out = [0 for x in range(length)]

def flag_sort(array, length):
	blue_pointer = 0
	red_pointer = length
	temp = 0
	i = 0
	while i < red_pointer:
		if array[i] == 1:
			temp = array[blue_pointer]
			array[blue_pointer] = array[i]
			array[i] = temp
			blue_pointer = blue_pointer + 1
			i = i + 1
		if array[i] == 2:
			i = i + 1
		if array[i] == 3:
			temp = array[red_pointer]
			array[red_pointer] = array[i]
			array[i] = temp
			red_pointer = red_pointer - 1
	return array
for index in range(0, 2 * length, 2):
	out[index // 2] = input[index]
out.sort()
string = ''
for i in range(length - 1):
	string = string + out[i] + '+'
string = string + out[length - 1]
print(string)


s = ''
for _ in sorted(list(map(int, input().split('+')))):
	s += str(_)
	s += '+'
print(s[0:-1])


inp = input().split('+')
lis = [int(i) for i in inp]
lis.sort()
print(lis[0], end='', sep='')
for i in range(1, len(lis)):
	print('+', lis[i], end='', sep='')


s = input()
a = [0, 0, 0, 0]
i = 0
while i < len(s):
	if s[i] == '1':
		a[1] += 1
	elif s[i] == '2':
		a[2] += 1
	elif s[i] == '3':
		a[3] += 1
	i += 2
n = int(len(s) / 2) + 1
for i in [1, 2, 3]:
	while a[i] > 0:
		if n > 1:
			print(i, '+', end='', sep='')
		else:
			print(i)
		n -= 1
		a[i] -= 1


ints = [x for x in input().split('+')]
ints.sort()
ints = '+'.join(ints)
print(ints)


import sys
line = sys.stdin.readline().strip().split('+')
len = len(line)
for i in range(0, len):
	line[i] = int(line[i])

def sort(list):
	f = False
	while not f:
		f = True
		for i in range(0, len - 1):
			if list[i] > list[i + 1]:
				f = False
				(list[i], list[i + 1]) = (list[i + 1], list[i])
	return list
line = sort(line)
s = '+'
print(s.join((str(s) for s in line)))


def main():
	summand = [int(x) for x in input().split('+')]
	summand.sort()
	print('+'.join([str(x) for x in summand]))
main()


S = list(input())
S.sort()
count = 0
for i in range(len(S)):
	if not S[i].isdigit():
		continue
	if count > 0:
		print('+', end='')
	print(S[i], end='')
	count += 1
print()


s = input()
sequence = ''
for i in range(0, len(s), 2):
	sequence += s[i]
print('+'.join(sorted(sequence)))


c1 = input()
k = []
l = len(c1)
for i in range(len(c1)):
	if i % 2 == 0:
		k.append(c1[i])
k.sort()
m = ''
for i in k:
	m = m + i + '+'
k = ''
for i in range(len(m) - 1):
	k = k + m[i]
print(k)


xenia_input = input().split('+')
xenia_input.sort()
xenia_string = ''
for i in xenia_input:
	xenia_string += i + '+'
print(xenia_string[0:-1])


n = input().split('+')
n.sort()
num = len(n)
for i in range(num):
	if i == num - 1:
		print(n[i], end='')
		break
	print(n[i] + '+', end='')


import sys

def getAscendingPattern(pattern):
	pattern = list(map(int, pattern.split('+')))
	pattern.sort()
	ascendingPattern = '+'.join(list(map(str, pattern)))
	return ascendingPattern
sum_pattern = input().strip()
result = getAscendingPattern(sum_pattern)
print(result)


s = input()
my_list = []
for i in range(len(s)):
	if i % 2 == 0:
		my_list.append(s[i])
my_list.sort()
print('+'.join(my_list))


s = input()
x = s.split('+')
n = len(s) - len(x)
x.sort()
print('+'.join(x))


arr = [int(x) for x in input().strip().split('+')]
arr.sort()
st = ''
for i in arr:
	st = st + str(i) + '+'
print(st[:-1])


string = input()
s1 = ''
s = sorted([int(x) for x in string.split('+')])
for i in range(len(s) - 1):
	s1 += str(s[i]) + '+'
s1 += str(s[-1])
print(s1)


from sys import stdin, stdout
inp = stdin.readline
out = stdout.write
s = list(inp().strip().split('+'))
s.sort()
s = '+'.join(s)
out(s)


def writesuansi(n, s, suansi1):
	i = 0
	suansi2 = suansi1
	while i < n:
		suansi2 = suansi2 + s + '+'
		i = i + 1
	return suansi2
suansi = input()
a = suansi.count('1')
b = suansi.count('2')
c = suansi.count('3')
suansif = writesuansi(c, '3', writesuansi(b, '2', writesuansi(a, '1', '')))
print(suansif[:-1])


n = input()
l = []
for i in n:
	if i != '+':
		l.append(int(i))
l.sort()
m = list(map(str, l))
a = '+'.join(m)
print(a)


s = input('')
s = s.split('+')
s = sorted(s)
s_new = ''
for c in s:
	s_new = s_new + c + '+'
print(s_new[0:-1])


x = input()
lst = []
for i in x:
	if i != '+':
		lst.append(i)
lst.sort()
sum = ''
for i in lst:
	sum += i + '+'
sum = sum[0:-1]
print(sum)


input_string = str(input())
new_string = input_string.split('+')

def sort_number(number):
	if len(number) > 1:
		swap_count = 1
		while swap_count > 0:
			swap_count = 0
			count = 0
			while count < len(number) - 1:
				if number[count] > number[count + 1]:
					swap = number[count]
					number[count] = number[count + 1]
					number[count + 1] = swap
					swap_count += 1
				count += 1
	return number
sorted_string = sort_number(number=new_string)
output_string = ''
for (ind, number) in enumerate(sorted_string):
	output_string += number
	if ind + 1 != len(sorted_string):
		output_string += '+'
print(output_string)


s = input()
a = []
for i in s:
	if i.isdigit():
		a.append(i)
a.sort()
res = '+'.join(a)
print(res)


string = input()
arr = []
for i in string:
	if i != '+':
		arr.append(i)
arr.sort()
print(*arr, sep='+')


def merge_sort(collection):
	length = len(collection)
	if length > 1:
		midpoint = length // 2
		left_half = merge_sort(collection[:midpoint])
		right_half = merge_sort(collection[midpoint:])
		i = 0
		j = 0
		k = 0
		left_length = len(left_half)
		right_length = len(right_half)
		while i < left_length and j < right_length:
			if left_half[i] < right_half[j]:
				collection[k] = left_half[i]
				i += 1
			else:
				collection[k] = right_half[j]
				j += 1
			k += 1
		while i < left_length:
			collection[k] = left_half[i]
			i += 1
			k += 1
		while j < right_length:
			collection[k] = right_half[j]
			j += 1
			k += 1
	return collection
alist = input().split('+')
alist = merge_sort(alist)
alist = '+'.join(alist)
print(alist)


s = input()
ss = ''
count = 0
if '+' in s:
	l = s.split('+')
	l.sort()
	for j in l:
		count += 1
		if count == len(l):
			ss += j
		else:
			ss += j + '+'
	print(ss)
else:
	print(s)


s = list(str(input()))
new = []
oi = []
n = s.__len__()
for i in range(n):
	if i % 2 == 0:
		new.append(s[i])
new.sort()
p = new.__len__()
for ii in range(p):
	oi.append(new[ii])
	oi.append('+')
oi.pop()
ed = ''.join(oi)
print(ed)


a = input()
b = a.split('+')
for i in range(len(b)):
	for j in range(i):
		if int(b[j]) >= int(b[i]):
			e = b[i]
			f = b[j]
			b[j] = e
			b[i] = f
		else:
			continue
c = '+'
string = b[0]
for i in range(1, len(b)):
	string = string + '+' + b[i]
print(string)


addition = input()
addends = []
for i in range(0, len(addition), 2):
	addends.append(addition[i])
addends.sort()
new_sum = addends[0]
for j in range(1, len(addends)):
	new_sum = new_sum + '+' + addends[j]
print(new_sum)


sum = list(input())
while '+' in sum:
	sum.remove('+')
sum.sort()
newSum = ''
for i in range(len(sum) - 1):
	if len(sum) >= 2:
		newSum = newSum + sum[i] + '+'
	else:
		break
print(newSum + sum[-1])


s = input()
n = len(s)
l = list(map(int, s.strip().split('+')))[:n]
l.sort()
s = ''
for i in l:
	s = s + str(i) + '+'
print(s[0:-1])


number = input().split('+')
number.sort()
output = ''
for i in number:
	output = output + i + '+'
print(output[:-1])


list1 = list(input())
n = len(list1)
list2 = []
list3 = []
if n == 1:
	print(''.join(list1))
else:
	for m in range(0, n, 2):
		list2.append(list1[m])
	list2.sort(reverse=False)
	str = '+'
	print(str.join(list2))


a = input()
s = []
for i in range(len(a)):
	if a[i] == '+':
		continue
	else:
		s.append(a[i])
s = sorted(s)
d = str()
for i in s:
	d += str(i) + '+'
print(d[:-1])


inp = str(input())
nums = []
for i in inp:
	if i != '+':
		nums.append(int(i))
nums.sort()
print('+'.join(list(map(str, nums))))


def sort(x):
	for i in range(len(x) - 1):
		min = i
		for j in range(i + 1, len(x)):
			if x[min] > x[j]:
				min = j
		if min != i:
			(x[i], x[min]) = (x[min], x[i])
	return x
x = list(map(int, input().split('+')))
x = sort(x)
if len(x) <= 0:
	print(x[0])
else:
	for i in range(len(x) - 1):
		print(x[i], end='+')
	print(x[len(x) - 1])


a = list(map(str, input().split('+')))
a.sort()
print(*a, sep='+')


s = input()
s = s.replace('+', '')
s = sorted(s)
i = 1
while True:
	if i == len(s):
		break
	s.insert(i, '+')
	i += 2
print(*s, sep='')


s = input()
n = 0
while n < len(s):
	if s[n] == '+':
		s = s[:n] + s[n + 1:]
	else:
		n += 1
l = []
le = len(s)
for i in range(le):
	l.append(s[i])
l = sorted(l)
vid = [str(x) for x in l]
vidpo = ''
for i in range(len(vid) - 1):
	vidpo = vidpo + vid[i] + '+'
print(vidpo + vid[len(vid) - 1])


TN = 1

def solution():
	s = list(input().split('+'))
	s = sorted(s)
	print('+'.join(s))
while TN != 0:
	solution()
	TN -= 1


def patrion(arr, l, h):
	p = arr[h]
	i = l - 1
	for j in range(l, h):
		if arr[j] < p:
			i += 1
			(arr[i], arr[j]) = (arr[j], arr[i])
	(arr[i + 1], arr[h]) = (arr[h], arr[i + 1])
	return i + 1

def quicksort(arr, l, h):
	if l < h:
		res = patrion(arr, l, h)
		quicksort(arr, l, res - 1)
		quicksort(arr, res + 1, h)
		return arr
input = input().split('+')
if len(input) <= 1:
	print(''.join(input))
else:
	length = len(input) - 1
	result = quicksort(input, 0, length)
	for i in range(1, (len(result) - 1) * 2, 2):
		result.insert(i, '+')
	print(''.join(result))


n = list(map(int, input().split('+')))
n.sort()
c = list(map(str, n))
s = '+'
print(s.join(c))


a = input()
b = '+'.join(sorted(list(a.split('+'))))
print(b)


string = input()
x = string.split('+')
test = [int(i) for i in x]
test.sort()
k = ''
for i in test:
	k = k + str(i) + str('+')
k = k[0:-1]
print(k)


x = input()
l = []
a = ''
for i in range(0, len(x), 2):
	l.append(x[i])
for j in sorted(l):
	a += j + '+'
print(a[:len(a) - 1])


ip = input()
str1 = ''
str2 = ''
str3 = ''
for i in range(0, len(ip), 2):
	if '1' == ip[i]:
		str1 += '1+'
	elif '2' == ip[i]:
		str2 += '2+'
	else:
		str3 += '3+'
final = str1 + str2 + str3
print(final[:-1])


import re
s = re.split('\\+', input())
s.sort()
print(*s, sep='+')


a = input()
numbers = list(map(int, a.split('+')))
numbers.sort()
out = str(numbers[0])
for i in numbers[1:]:
	out = out + '+' + str(i)
print(out)


n = list(input())
n.sort()
a = []
for i in n:
	if i != '+':
		a.append(i)
a = '+'.join(a)
print(a)


s = list(map(str, input().split(' ')))
string1 = ''.join(s)
string1 = string1.replace('+', '')
myList = []
string2 = ''
count = 1
for i in string1:
	myList.append(i)
myList.sort()
for q in myList:
	if count == 1:
		string2 += q
		count = 0
	else:
		string2 += '+' + q
print(string2)


s = input()
a = ''
s = s[:len(s):2]
for i in sorted(s):
	a += i
print('+'.join(a))


s = input()
l = []
for i in s:
	if i != '+':
		l.append(i)
l = sorted(l)
i = 0
while i < len(l):
	if i == len(l) - 1:
		print(l[i])
	else:
		print(l[i], end='+')
	i += 1


p = input()
if len(p) > 1:
	p = p.split('+')
	p.sort(key=int)
	for i in range(0, len(p)):
		if i == 0:
			print(f'{p[i]}+', end='')
		elif i == 1:
			print(f'{p[i]}', end='')
		else:
			print(f'+{p[i]}', end='')
else:
	print(p)


a = list(map(int, input().split('+')))
d = ''
b = sorted(a)
for i in b:
	d = d + str(i) + '+'
print(d[0:len(d) - 1])


a = input()
a = list(a.split('+'))
a.sort()
a = ''.join(a)
b = ''
for x in range(len(a)):
	if x == len(a) - 1:
		b = b + a[x]
	else:
		b = b + a[x] + '+'
print(b)


t = list(map(str, input().split('+')))
t.sort()
print('+'.join(t))


string = input()
if len(string) <= 100:
	list1 = list(string)
	list2 = []
	list3 = []
	for i in range(0, len(string), 2):
		list2.append(list1[i])
	list2.sort()
	for i in range(0, len(list2)):
		list3.append(list2[i])
		list3.append('+')
	x = str(list3[0:len(list3) - 1])
	list3.pop()
	print(''.join(list3))


a = str(input())
b = ''
c = []
final = ''
for i in range(len(a)):
	if a[i] != '+':
		b += a[i]
for i in range(len(b)):
	c.append(b[i])
c.sort()
for i in range(len(c)):
	final += c[i]
	final += '+'
print(final[:len(final) - 1])


s = input('')
if len(s) <= 1:
	print(s)
else:
	list = []
	for index in range(0, len(s) + 1, 2):
		list.append(s[index])
	list.sort()
	snew = '+'.join(list)
	print(snew)


x = input()
y = []
final = '+'
y = list(x.split('+'))
y = sorted(y)
final = final.join(y)
print(final)


import sys
v = input().split('+')
v = sorted(v)
resp = '+'.join(v)
print(resp)


a = [int(x) for x in input()[::2]]
a.sort()
s = '+'.join([str(x) for x in a])
print(s)


cnt = list(map(int, input().split('+')))
new_list = list(map(str, sorted(cnt)))
print('+'.join(new_list))


s = input().split('+')
s.sort()
sym = '+'
sym = sym.join(s)
print(sym)


n = input()
arr = [0 for i in range(3)]
for i in n:
	if i != '+':
		arr[int(i) - 1] += 1
print(str((str(1) + '+') * arr[0] + (str(2) + '+') * arr[1] + (str(3) + '+') * arr[2])[:-1])


x = input()
if len(x) == 1:
	print(x)
else:
	l = []
	for i in x:
		if i.isdigit():
			l.append(i)
	l = sorted(l)
	for i in range(len(l) - 1):
		print(l[i], end='+')
	print(l[-1])


a = input()
b = []
for i in a:
	if i != '+':
		b.append(i)
b = sorted(b)
print('+'.join(b))


n = input()
a = []
count = 0
if len(n) > 1:
	n = n.replace('+', '')
	for i in n:
		a.append(i)
	while True:
		count += 1
		if count != len(a):
			for i in range(len(a) - count):
				if int(a[i]) > int(a[i + 1]):
					(a[i], a[i + 1]) = (a[i + 1], a[i])
		else:
			break
	print('+'.join(a))
else:
	print(n)


input_string = input()
ones = input_string.count('1')
twos = input_string.count('2')
threes = input_string.count('3')
output_with_plus = '1+' * ones + '2+' * twos + '3+' * threes
output_without_plus = ''
for i in range(len(output_with_plus)):
	if i != len(output_with_plus) - 1:
		output_without_plus += output_with_plus[i]
print(output_without_plus)


import re

def special_match(str, search=re.compile('[^1-3+]').search):
	return not bool(search(str))
inputstring = input()
if inputstring.__len__() >= 0 & inputstring.__len__() <= 100:
	if special_match(inputstring):
		sumData = inputstring.split('+')
		sumData.sort()
		outputString = ''
		for index in range(sumData.__len__()):
			if sumData[index] == '':
				exit(0)
			if sumData.__len__() == 1 or index == sumData.__len__() - 1:
				outputString += '' + sumData[index]
				continue
			outputString += '' + sumData[index] + '+'
		print(outputString)


import sys

def gets():
	return sys.stdin.readline().strip()

def get():
	return int(sys.stdin.readline().strip())

def geti():
	return map(int, sys.stdin.readline().strip().split())

def getli():
	return list(map(int, sys.stdin.readline().strip().split()))
s = gets()
A = []
for i in range(0, len(s), 2):
	A.append(s[i])
A.sort()
print('+'.join(A))


k = input()
l = list(k)
a = []
for t in l:
	if t != '+':
		a.append(t)
a.sort()
for i in range(len(a) - 1):
	print(a[i] + '+', end='')
print(a[len(a) - 1])


a = sorted([int(i) for i in input().split('+')])
for i in range(len(a)):
	if i == len(a) - 1:
		print(a[i])
	else:
		print(a[i], end='+')


s = input()
s = s.replace('+', '')
s = list(s)
s.sort(key=int)
print('+'.join(s))


a = input()
b = list(a.split('+'))
cn = 0
cnx = 0
while cnx < len(b) - 1:
	cn = 0
	while cn < len(b) - 1:
		if b[cn] > b[cn + 1]:
			tmp = b[cn]
			b[cn] = b[cn + 1]
			b[cn + 1] = tmp
		cn = cn + 1
	cnx = cnx + 1
cn = 0
newb = ''
while cn < len(b):
	newb = newb + str(b[cn])
	newb = newb + '+'
	cn = cn + 1
print(newb[:-1])


a = input().split('+')
a.sort()
b = ''
for i in a:
	b += '{}+'.format(i)
print(b[:-1])


from functools import reduce
pattern = input()
nums = [ch for ch in pattern.split('+')]
nums.sort()
newStr = reduce(lambda x, y: x + '+' + y, nums)
print(newStr)


s = input()
ans = []
for i in range(len(s)):
	if '+' == s[i]:
		continue
	else:
		ans.append(int(s[i]))
ans.sort()
for i in range(len(ans) - 1):
	print(str(ans[i]) + '+', end='')
print(ans[len(ans) - 1])


def func(s):
	l = s.split('+')
	l.sort()
	s1 = '+'.join(l)
	print(s1)
s = input()
func(s)


s = input()
if '+' in s:
	mynums = [int(x) for x in s.split('+')]
	mynums.sort()
	mynums2 = list(map(lambda x: str(x), mynums))
	s2 = '+'.join(mynums2)
	print(s2)
else:
	print(s)


arr = list(map(int, input().split('+')))
arr.sort()
length = len(arr)
for i in range(length):
	if i != length - 1:
		print(arr[i], end='+')
	else:
		print(arr[i])


equation = input()
lst_num = equation.split('+')
lst_num.sort()
for num in range(len(lst_num)):
	if num < len(lst_num) - 1:
		print(lst_num[num], end='+')
	else:
		print(lst_num[num])


a = list(input().split('+'))
a.sort()
print(*a, sep='+')


stra = input()
lista = stra.split('+')
lista.sort()
strb = '+'.join(lista)
print(strb)


example = input().split('+')
numeral = [int(item) for item in example]
numeral = sorted(numeral)
for i in range(len(numeral) - 1):
	print(numeral[i], '+', end='', sep='')
print(numeral[-1])


primer = list(input())
for i in range(primer.count('+')):
	primer.pop(primer.index('+'))
primer.sort()
s = '+'
k = s.join(primer)
print(k)


s = input()
a = b = c = d = 0
for i in range(len(s)):
	if s[i] == '1':
		a += 1
	elif s[i] == '2':
		b += 1
	elif s[i] == '3':
		c += 1
	else:
		d += 1
	i += 1
while True:
	if a == 0:
		break
	print(str(1), end='')
	a -= 1
	if d != 0:
		print('+', end='')
		d -= 1
while True:
	if b == 0:
		break
	print(str(2), end='')
	b -= 1
	if d != 0:
		print('+', end='')
		d -= 1
while True:
	if c == 0:
		break
	print(str(3), end='')
	c -= 1
	if d != 0:
		print('+', end='')
		d -= 1


s = input()
alist = []
for i in range(0, len(s), 2):
	alist.append(int(s[i]))
alist.sort()
q = ''
for i in range(0, len(alist)):
	if i == len(alist) - 1:
		q += str(alist[i])
	else:
		q += str(alist[i]) + '+'
print(q)


s = input().split('+')
n = []
for i in s:
	n.append(int(i))
for i in range(0, len(n)):
	for j in range(0, len(n)):
		if j < len(n) - 1:
			if n[j] > n[j + 1]:
				t = n[j]
				n[j] = n[j + 1]
				n[j + 1] = t
string = ''
for i in n:
	string += str(i) + '+'
print(string[:len(string) - 1])


s = input()
s1 = []
for i in range(0, len(s), 2):
	k = int(s[i])
	s1.append(k)
s1 = sorted(s1)
for i in range(len(s1) - 1):
	print(s1[i], end='')
	print('+', end='')
print(s1[len(s1) - 1])


a = list(map(str, input().split('+')))
a.sort()
b = '+'
c = b.join(a)
print(c)


lst = input().split('+')
ans = ''
for i in range(len(lst) - 1):
	for j in range(len(lst) - i - 1):
		if lst[j] > lst[j + 1]:
			(lst[j], lst[j + 1]) = (lst[j + 1], lst[j])
if len(lst) > 1:
	for i in lst:
		ans += i
		ans += '+'
	print(ans[:-1])
else:
	ans += lst[0]
	print(ans)


s = input()
k1 = 0
k2 = 0
k3 = 0
for i in range(0, len(s), 2):
	if s[i] == '1':
		k1 += 1
	elif s[i] == '2':
		k2 += 1
	else:
		k3 += 1
fs = '1+' * k1 + '2+' * k2 + '3+' * k3
print(fs[:-1])


str1 = input()
x1 = 0
x2 = 0
x3 = 0
for i in range(len(str1)):
	if str1[i] == '1':
		x1 = x1 + 1
	elif str1[i] == '2':
		x2 += 1
	elif str1[i] == '3':
		x3 += 1
	else:
		continue
ans = ''
for i in range(x1):
	ans += '1'
	ans += '+'
for i in range(x2):
	ans += '2'
	ans = ans + '+'
for i in range(x3):
	ans = ans + '3'
	ans = ans + '+'
print(ans[:-1])


n = input()
z = []
if len(n) == 1:
	print(n)
else:
	for x in range(0, len(n), 2):
		z.append(int(n[x]))
	z.sort()
	for y in range(len(z)):
		print(str(z[y]), sep='', end='')
		if y < len(z) - 1:
			print(str('+'), sep='', end='')


s = input()
result = ''
count1 = count2 = count3 = 0
for i in range(0, len(s), 1):
	if s[i] == '1':
		count1 += 1
	elif s[i] == '2':
		count2 += 1
	elif s[i] == '3':
		count3 += 1
while count1:
	if len(result) == len(s) - 1:
		result += '1'
	else:
		result += '1+'
	count1 -= 1
while count2:
	if len(result) == len(s) - 1:
		result += '2'
	else:
		result += '2+'
	count2 -= 1
while count3:
	if len(result) == len(s) - 1:
		result += '3'
	else:
		result += '3+'
	count3 -= 1
print(result)


e = input()
e.split('+')
out = ''
h = list(e)
h.sort()
newH = h
filterCounter = 0
for _ in range(len(h)):
	try:
		if newH[filterCounter] == '+':
			newH.remove('+')
			filterCounter = 0
		else:
			filterCounter += 1
	except:
		break
for _ in range(len(newH)):
	if _ == len(newH) - 1:
		out = out + newH[_]
	else:
		out = out + newH[_] + '+'
print(out)


a = input()
b = list(a)
while '+' in b:
	b.remove('+')
b = sorted(b)
print('+'.join(b))


sum = []
sum = input('')
sumtwo = sum.split('+')
sumtwo.sort()
final = '+'.join(sumtwo)
print(final)


s = list(input().split('+'))
s = sorted(s)
c = ''
for i in s:
	c += i + '+'
print(c[:len(c) - 1])


def main():
	a = input().split('+')
	a.sort()
	result = '+'.join(a)
	print(result)
main()


strng = str(input())
mylist = []
for index in range(len(strng)):
	if index % 2 == 0:
		mylist.append(int(strng[index]))
mylist.sort()
maax = len(mylist)
length = len(mylist)
for i in range(length):
	print(mylist[i], end='')
	if i == length - 1:
		pass
	else:
		print('+', end='')


s = input()
t = sorted(s.split('+'))
q = ''
for i in t[:-1]:
	q += i + '+'
print(q + t[-1])


t = input()
f = ''
if t.count('+') > 0:
	n = sorted(t.split('+'))
	p = '+' * len(n)
	for (i, m) in zip(n, p):
		f += i + m
	print(f[:-1])
else:
	print(t)


e = input()
e = e.split('+')
e.sort()
print('+'.join(e))


s = input()
a = s.split('+')
for i in range(0, len(a)):
	a[i] = int(a[i])
a.sort()
j = len(a) - 1
for i in range(0, j):
	print(a[i], end='+')
print(a[j])


s = input()
if len(s) > 1:
	for x in s:
		if x == '+':
			s = s.replace(x, '')
	s1 = sorted(s)
	s2 = ''
	for x in s1:
		s2 += x + '+'
	print(s2[:-1])
else:
	print(s)


def count_sort(L):
	maks = max(L)
	count_list = [0 for i in range(maks + 1)]
	good_list = [0 for i in range(len(L))]
	for i in range(len(L)):
		count_list[L[i]] += 1
	for i in range(1, len(count_list)):
		count_list[i] = count_list[i - 1] + count_list[i]
	for i in range(len(L) - 1, -1, -1):
		good_list[count_list[L[i]] - 1] = L[i]
		count_list[L[i]] -= 1
	return good_list
n = input('')
n = [int(i) for i in n.split('+')]
n = count_sort(n)
n = [str(i) for i in n]
print('+'.join(n))


ipt = input()
one = 0
two = 0
three = 0
for i in range(len(ipt)):
	if i % 2 == 0:
		if int(ipt[i]) == 1:
			one += 1
		elif int(ipt[i]) == 2:
			two += 1
		else:
			three += 1
opt = ''
for i in range(one):
	opt += '1+'
for i in range(two):
	opt += '2+'
for i in range(three):
	opt += '3+'
print(opt[:-1])


s = input().split('+')
p = []
for i in range(len(s)):
	p.append(int(s[i]))
s = []

def result(p):
	s = []
	p.sort()
	for i in range(len(p)):
		if i == len(p) - 1:
			s.append(str(p[i]))
		else:
			s.append(str(p[i]) + '+')
		print(s[i], end='')
result(p)


s = input()
lst = []
for i in s:
	if i != '+':
		lst.append(i)
lst.sort()
seperator = '+'
print(seperator.join(lst))


string = input().split('+')
numbers = []
counter = 0
for n in string:
	if n == '1':
		numbers.insert(0, n)
		counter += 1
	elif n == '2':
		numbers.insert(counter, n)
	elif n == '3':
		numbers.insert(len(string) - 1, n)
print('+'.join(numbers))


sequence = input()
numbers = sequence.split('+')
numbers.sort()
sorted_sum = '+'.join(numbers)
print(sorted_sum)


def sort(array):
	less = []
	equal = []
	greater = []
	if len(array) > 1:
		pivot = array[0]
		for x in array:
			if x < pivot:
				less.append(x)
			if x == pivot:
				equal.append(x)
			if x > pivot:
				greater.append(x)
		return sort(less) + equal + sort(greater)
	else:
		return array
equation = input().replace('+', ' ').split()
sortd = sort(equation)
res = ''
for i in range(0, len(sortd)):
	if i == len(sortd) - 1:
		res = res + sortd[i]
	else:
		res = res + sortd[i] + '+'
print(res)


suma = input()
jedynki = 0
dwojki = 0
trojki = 0
plusy = 0
nowaSUMA = ''
xeniaSUMA = ''
for i in range(len(suma)):
	if suma[i] == '1':
		jedynki += 1
	elif suma[i] == '2':
		dwojki += 1
	elif suma[i] == '3':
		trojki += 1
	else:
		plusy += 1
for i in range(jedynki):
	nowaSUMA += '1+'
for i in range(dwojki):
	nowaSUMA += '2+'
for i in range(trojki):
	nowaSUMA += '3+'
for i in range(len(nowaSUMA) - 1):
	xeniaSUMA += nowaSUMA[i]
print(xeniaSUMA)


m = list(input().split('+'))
m.sort()
m = '+'.join(m)
print(m)


lst = input()
lst = list(lst)
num = [int(i) for i in lst if i != '+']
num = sorted(num)
ans = str(num[0])
if len(num) > 1:
	for i in num[1:]:
		ans = ans + '+' + str(i)
print(ans)


s = input()
i = int(0)
j = int(0)
arr = [0] * int((len(s) + 1) / 2)
while i < int((len(s) + 1) / 2):
	arr[i] = int(s[j])
	i = i + 1
	j = j + 2
arr.sort()
for k in range(int((len(s) + 1) / 2 - 1)):
	print(arr[k], '+', sep='', end='')
print(arr[int((len(s) + 1) / 2 - 1)])


x = input()
s = len(x) // 2
res = '+'.join(sorted(x))
d = str(res)
str2 = d[2 * s:]
print(str2)


s = input()
s = s.replace('+', '')
x = sorted(s)
s = ''
i = 0
while i < len(x) - 1:
	s += x[i] + '+'
	i += 1
print(s + x[i])


s = input()
s = s.replace('+', ' ')
l = list(s.split(' '))
l = sorted(l)
r = ''
for i in l:
	r += '+' + i
print(r[1:])


expr = input()
nums = list(map(int, expr.split('+')))
nums.sort()
print('+'.join([str(num) for num in nums]))


inp = list(map(int, input().split('+')))
inp.sort()
for x in inp[:-1]:
	print(str(x) + '+', end='')
print(str(inp[-1]))


s = input()
k = s.split('+')
k.sort()
j = ''
for i in k:
	j += i + '+'
print(j[:-1])


s = [int(i) for i in input().split('+')]
s.sort()
j = 0
if len(s) == 1:
	print(s[0])
	exit()
else:
	for j in range(len(s) - 1):
		print(s[j], end='+')
j += 1
print(s[j])


shit = input()
if 0 < len(shit) <= 100:
	fuck = shit.split('+')
	your = list(map(int, fuck))
	your.sort()
	mine = map(str, your)
	mother = '+'.join(mine)
print(mother)


a = list(map(int, input().split('+')))
L = []
M = []
N = []
for i in range(len(a)):
	if a[i] < 2:
		L.append(a[i])
	elif a[i] == 2:
		M.append(a[i])
	else:
		N.append(a[i])
A = L + M + N
print(*A, sep='+')


s = input()
numbers = [c for c in s[::2]]
numbers.sort()
print('+'.join(numbers))


n = list(map(int, input().split('+')))
n.sort()
for i in n[:-1]:
	print('{}+'.format(i), end='')
print(n[-1])


n = input()
li = list(n.split('+'))
results = list(map(int, li))
results.sort()
li = list(map(str, results))
print('+'.join(map(str, li)))


s = input()
arr = list(map(int, s.split('+')))
arr.sort()
sor = list(map(str, arr))
print('+'.join(sor))


numbers = [int(x) for x in input().split('+')]
new = sorted(numbers)
for i in range(len(new)):
	if i != len(new) - 1:
		print(new[i], end='+')
	if i == len(new) - 1:
		print(new[i])


numbers = [int(n) for n in input().split('+')]
numbers.sort()
for i in range(len(numbers)):
	if i == len(numbers) - 1:
		print(f'{numbers[i]}', end='')
		break
	print(f'{numbers[i]}+', end='')


n = input().split('+')
n.sort()
s = ''
i = 0
while i < len(n):
	if i == len(n) - 1:
		s = s + n[i]
	else:
		s = s + n[i] + '+'
	i = i + 1
print(s)


b = input()
z = list(b[0::2])
b = sorted(z)
print('+'.join(b))


addition = input().split('+')
addition.sort()
plus = '+'
opt = plus.join(addition)
print(opt)


s = input()
a = []
cnt = 0
for i in s:
	if '0' <= i <= '9':
		a.append(int(i))
		cnt += 1
a.sort()
for i in a[:cnt - 1]:
	print(i, '+', sep='', end='')
print(a[cnt - 1])


L = input()
P = len(L)
L = L.split('+')
A = []
N = len(L)
if N == 1:
	print(L[0])
else:
	for k in range(N):
		if int(L[k]) == 1:
			A.append(L[k])
			A.append('+')
	for k in range(N):
		if int(L[k]) == 2:
			A.append(L[k])
			A.append('+')
	for k in range(N):
		if int(L[k]) == 3:
			A.append(L[k])
			A.append('+')
	A.pop(P)
	A = ''.join(A)
	print(A)


s = input()
l = []
for i in s:
	if '+' == i:
		pass
	else:
		l.append(i)
l.sort()
p = []
for j in l:
	p.append(j)
	p.append('+')
p.pop()
for k in p:
	print(k, end='')


from sys import stdin

def solution():
	s = stdin.readline().strip().split('+')
	return '+'.join(sorted(s))
print(solution())


s = list(input()[::2])
s_1 = sorted(s)
str = '+'
print(str.join(s_1))


a = input().split('+')
b = a.count('1')
c = a.count('2')
d = a.count('3')
t = ''
t = t + b * '1+'
t = t + c * '2+'
t = t + d * '3+'
print(t[:len(t) - 1])


word = ''
lista = [int(x) for x in input().split('+')]
n = len(lista)
for k in range(n):
	l = len(lista)
	for i in range(l):
		a = lista[i]
		sum = 0
		for j in range(l):
			if a <= lista[j]:
				sum += 1
				continue
			else:
				break
		if sum == l:
			a = str(a)
			word = word + a
			del lista[i]
			break
		else:
			continue
print('+'.join(word))


s = input()
l = s.split('+')
k = sorted(l)
n = len(k)
for i in range(0, n):
	if i < n - 1:
		print(k[i] + '+', end='')
	else:
		print(k[i], end='')


ls = input().split('+')
ls.sort(key=int)
for i in range(len(ls)):
	if i == len(ls) - 1:
		print(ls[i])
	else:
		print(ls[i], '+', sep='', end='')


s = input().strip().split('+')
lst = [int(i) for i in s]
lst.sort()
output = ''
for i in lst:
	output = output + '+' + str(i)
output = output.strip('+')
print(output)


x = input()
y = int((len(x) + 1) / 2)
for i in range(y - 1):
	for j in range(0, 2 * (y - 1 - i), 2):
		if int(x[j]) > int(x[j + 2]):
			x = x[:j] + x[j + 2] + x[j + 1] + x[j] + x[j + 3:]
print(x)


x = input()
if '+' in x:
	ans = x.split('+')
	ans.sort()
	ans = '+'.join(ans)
	print(ans)
else:
	print(x)


a = list(map(int, input().split('+')))
a.sort()
if len(a) == 1:
	print(a[0])
else:
	s = str()
	s += str(a[0])
	a.pop(0)
	for i in a:
		s += '+'
		s += str(i)
	print(s)


k = input().split('+')
k.sort()
print('+'.join(k))


user_equation = input()
number_list = []
for char in user_equation:
	if char != '+':
		number_list.append(char)
number_list.sort()
print('+'.join(number_list))


string = input()
lst = string.split('+')
a = sorted(lst)
str = ''
for i in a:
	str = str + '+' + i
print(str[1:])


l = [i for i in input().split('+')]
l = sorted(l, key=lambda x: int(x))
print('+'.join(l))


summans_str = input().split('+')
number = len(summans_str)
summans = []
for i in range(number):
	summans.append(int(summans_str[i]))
summans.sort()
result = ''
for i in range(number):
	result += str(summans[i]) + '+'
print(result[:-1])


x = [v for v in input().split('+')]
x.sort()
print('+'.join(x))


b = input().split('+')
a = []
for i in range(len(b)):
	a.append(int(b[i]))
for i in range(len(a)):
	for j in range(i, len(a)):
		if a[i] > a[j]:
			t = a[i]
			a[i] = a[j]
			a[j] = t
for i in range(len(a)):
	if i != len(a) - 1:
		print(a[i], end='+')
	else:
		print(a[i])


s = list(map(str, input().split('+')))
s.sort()
result = ''
for i in s[:-1]:
	result += i + '+'
result += s[-1]
print(result)


def main():
	expression = input().split('+')
	i = 1
	while i != len(expression):
		if int(expression[i - 1]) > int(expression[i]):
			(expression[i - 1], expression[i]) = (expression[i], expression[i - 1])
			i = 0
		i += 1
	return '+'.join(expression)
print(main())


string = input()
list_one = list(string.split('+'))

def bubbleSort(list):
	last_element_index = len(list) - 1
	for passNo in range(last_element_index, 0, -1):
		for idx in range(passNo):
			if list[idx] > list[idx + 1]:
				(list[idx], list[idx + 1]) = (list[idx + 1], list[idx])
bubbleSort(list_one)
string_final = ''
for i in list_one:
	string_final = string_final + i + '+'
l = len(string_final)
string_final = string_final[:l - 1]
print(string_final)


l = input().split('+')
s = sorted(l)
x = len(s) - 1
i = 0
while i <= x:
	if i < x:
		print(s[i], end='+')
	if i == x:
		print(s[i])
	i = i + 1


import sys
t = sys.stdin.readline().strip().split('+')
t.sort()
print('+'.join(t))


x = input().split('+')
x.sort()
y = []
for i in x:
	y.append(i)
	y.append('+')
del y[len(y) - 1]
del x
x = ''
for i in y:
	x += i
print(x)


a = str(input())
b = []
c = ''
for i in a:
	if i != '+':
		b.append(i)
b.sort()
for j in b:
	c += j + '+'
print(c[:-1])


str1 = input()
list1 = []
i = 0
while i in range(len(str1)):
	list1.append(str1[i])
	i = i + 2
list1.sort()
j = 0
while j in range(len(list1)):
	if j == len(list1) - 1:
		print(list1[j], end='')
	else:
		print(list1[j], end='+')
	j += 1


def helpfulMath(st):
	x = sorted(st)
	return '+'.join(x)
s = input().split('+')
print(helpfulMath(s))


n = input()
lenn = len(n)
s = n.replace('+', '')
ss = list(s)
ascendingList = []
i = 0
strlen = len(s)
while i < strlen:
	a = min(ss)
	ascendingList.append(a)
	ss.remove(a)
	i = i + 1
j = 0
k = 0
nn = list(n)
while j < lenn:
	nn[j] = ascendingList[k]
	j = j + 2
	k = k + 1
p = ''.join(nn)
print(p)


arr = [int(i) for i in input().split('+')]
for i in range(1, len(arr)):
	j = i - 1
	key = arr[i]
	while arr[j] > key and j >= 0:
		arr[j + 1] = arr[j]
		arr[j] = key
		j -= 1
print(*arr, sep='+')


s = input()
while '2+1' in s or '3+1' in s or '3+2' in s:
	s = s.replace('2+1', '1+2')
	s = s.replace('3+1', '1+3')
	s = s.replace('3+2', '2+3')
print(s)


import sys
expr = sys.stdin.readline()
count_dict = {}
for c in expr:
	count_dict[c] = count_dict.get(c, 0) + 1
str_list = []
for i in range(3):
	c = f'{i + 1}'
	str_list += count_dict.get(c, 0) * [c]
easy_expr = '+'.join(str_list)
sys.stdout.write(easy_expr)


calc = str(input()).split('+')
calc.sort()
i = len(calc)
output = ''
while i > 0:
	calc.insert(i, '+')
	i -= 1
calc = calc[:-1]
for j in calc:
	output += j
print(output)


s = input()

def strip(s):
	for i in range(0, len(s)):
		if s[i] == '+':
			return strip(s[0:i] + s[i + 1:])
	return s
s = strip(s)
l = []
for i in range(0, len(s)):
	l.append(s[i])
l.sort()
x = ''
for i in range(0, len(l) - 1):
	x = x + l[i] + '+'
x = x + l[len(l) - 1]
print(x)


str = input().split('+')
d = {'1': 0, '2': 0, '3': 0}
for i in str:
	d[i] += 1
res_str = ''
for i in range(d['1']):
	res_str += '1+'
for i in range(d['2']):
	res_str += '2+'
for i in range(d['3']):
	res_str += '3+'
print(res_str[:-1])


s = input()
ul = s.split('+')
ol = list(ul)
ol.sort()
if ul == ol:
	print(s)
else:
	print('+'.join(ol))


word = input().split('+')
word.sort()
for i in word[:-1]:
	print(i, end='+')
print(word[-1])


w = input()
arr = w.split('+')
arr.sort()
retStr = ''
for i in arr:
	retStr += i + '+'
print(retStr[:-1])


str = input()
ans = ''
c1 = 0
c2 = 0
c3 = 0
for l in str:
	if l == '1':
		c1 += 1
	elif l == '2':
		c2 += 1
	elif l == '3':
		c3 += 1
for i in range(0, c1):
	ans += '1+'
for i in range(0, c2):
	ans += '2+'
for i in range(0, c3):
	ans += '3+'
ans = ans[:len(ans) - 1]
print(ans)


s = input()
one = s.count('1')
two = s.count('2')
three = s.count('3')
s = '1+' * one + '2+' * two + '3+' * three
print(s[0:-1])


n = str(input())
n = list(n)
i = 0
a = []
b = []
while i < len(n):
	a.append(n[i])
	i += 2
a.sort()
for i in range(len(a)):
	if i != len(a) - 1:
		print(a[i], end='+')
	else:
		print(a[i])


import sys
Get_Char = input()

def main(Get_Char):
	Reverse_String = Get_Char.replace('+', '')
	Sorted_String = sorted(Reverse_String)
	Final_String = '+'.join(Sorted_String)
	print(Final_String)
main(Get_Char)


numbers = input().split('+')
numbers = [int(i) for i in numbers]
numbers.sort()
numbers = [str(i) for i in numbers]
numbers = [numbers[i].replace(numbers[i], numbers[i] + '+') for i in range(len(numbers))]
numbers = ''.join(numbers)
print(numbers[:-1])


st = str(input())
st = st.split('+')
st = sorted(st)
s = ''
for i in st:
	s = s + i + '+'
l = len(s)
ans = s[0:l - 1]
print(ans)


s = input().strip().split('+')
s.sort()
print('+'.join(s))


def bubble_sort(arr):
	for i in range(len(arr)):
		for j in range(len(arr) - 1, i, -1):
			if int(arr[j]) < int(arr[j - 1]):
				(arr[j], arr[j - 1]) = (arr[j - 1], arr[j])
	return arr
mas = input().split('+')
print('+'.join(bubble_sort(mas)))


xenia = input('')
new = []
final = ''
plus = 0
new.extend(xenia)
for i in new:
	if i == '+':
		new.remove(i)
		plus += 1
new.sort()
for j in new:
	if len(final) == new.__len__() + plus - 1:
		final += j
	else:
		final += j + '+'
print(final)


nums = list(input().split('+'))
nums.sort()
result = '+'.join(nums)
print(result)


l1 = list(input().split('+'))
l1.sort()
print('+'.join(l1))


from sys import stdout
x = ''.join(sorted(input().replace('+', '')))
y = x[1:len(x)]
nums = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']
for num in nums:
	y = y.replace(num, '+' + num)
stdout.write(x[0] + y)


import sys
Input = sys.stdin.readline
x = input().split('+')
x.sort()
print('+'.join(x))


form = input()
nums = [int(x) for x in form.split('+')]
sorted_nums = sorted(nums)
result = '+'.join([str(x) for x in sorted_nums])
print(result)


n = input()
number = []
sm = []
for i in range(0, len(n)):
	if n[i] != '+':
		number.append(n[i])
		sm.append('N')
	else:
		sm.append('+')
number.sort()
c = 0
for i in range(0, len(sm)):
	if sm[i] == 'N':
		sm[i] = number[c]
		c = c + 1
for i in range(0, len(sm)):
	print(sm[i], end='')


a = [int(j) for j in input().split('+')]
a.sort()
a1 = '+'.join([str(j) for j in a])
print(a1)


problemRaw = input('')
problemRefined = ''
problem = list(problemRaw.split('+'))
problem.sort()
for number in range(int(len(problem))):
	if number == 0:
		problemRefined = problem[0]
	if number > 0:
		problemRefined = str(problemRefined) + '+' + str(problem[number])
print(problemRefined)


y = input()
a = y.split('+')
a = list(map(int, a))
a.sort()
a = list(map(str, a))
print('+'.join(a))


w = input('')
w = w + '+'
a = len(w)
l = []
m = []
b = ''
n = []
for x in range(a):
	l.append(w[x])
for x in range(a):
	if l[x] != '+':
		b = b + l[x]
	else:
		m.append(b)
		b = ''
for c in m:
	n.append(int(c))
d = len(n)
o = []
for y in range(d):
	e = min(n)
	o.append(e)
	for x in range(len(n)):
		if n[x] == e:
			n.pop(x)
			break
		else:
			pass
f = ''
for z in range(d - 1):
	f = f + str(o[z]) + '+'
f = f + str(o[d - 1])
print(f)


def work():
	value = [i for i in input().split('+')]
	value = sorted(value)
	print('+'.join(value))
work()


x = list(input())
a = x.count('1')
b = x.count('2')
c = x.count('3')
y = []
for e in x:
	if e != '+':
		y.append(e)
y.sort()
z = '+'.join(y)
print(z)


lis = list(input())
lis.sort()
while '+' in lis:
	lis.remove('+')
print('+'.join(lis))


x = input()
a = x.split('+')
a.sort()
k = ''
for i in a:
	k = k + '+' + str(i)
print(k[1:])


s = input()
a = []
b = []
for i in range(len(s)):
	b.append(s[i])
	if i == 0 or i % 2 == 0:
		a.append(s[i])
a = sorted(a)
count = 0
for i in range(len(s)):
	if i == 0 or i % 2 == 0:
		b[i] = a[count]
		count += 1
c = ''.join(b)
print(c)


ch = str(input())
n = (len(ch) + 1) // 2
L = [int(ch[0])]
for k in range(1, n):
	L = L + [int(ch[2 * k])]
L.sort()
r = str(L[0])
for k in range(1, n):
	r = r + '+' + str(L[k])
print(r)


a = input()
r = list(a.split('+'))
print('+'.join(sorted(r)))


array = list(map(int, input().split('+')))

def BubbleSort(arr):
	for passnum in range(len(arr) - 1, 0, -1):
		for i in range(passnum):
			if arr[i] > arr[i + 1]:
				(arr[i], arr[i + 1]) = (arr[i + 1], arr[i])
BubbleSort(array)
print('+'.join(list(map(str, array))))


s = str(input())
s1 = s.split('+')
s1.sort()
s2 = ''
l = len(s1)
s2 = min(s1)
s1.remove(min(s1))
while s1 != []:
	s2 = s2 + '+' + min(s1)
	s1.remove(min(s1))
print(s2)


lst = list(input().split('+'))
print('+'.join(sorted(lst)))


a = str(input())
li = [char for char in a if char.isdigit()]
li.sort()
for i in range(0, len(li)):
	li.insert(i * 2, '+')
li.remove(li[0])
print(''.join(li))


inp = input().split('+')
inp.sort()
output = ''
for elm in inp:
	output += elm + '+'
print(output[0:len(output) - 1])


s = list(input())
while '+' in s:
	s.remove('+')
s.sort()
l = []
for i in s:
	l.append('+')
	l.append(i)
l.remove('+')
for i in l:
	print(i, end='')


import sys
numbers = [int(number) for number in input() if number != '+']
numbers.sort()
output = ''
for number in numbers:
	output += str.format('{}{}', number, '+')
if len(output) > 0:
	output = output[:-1]
print(output)


pl = '+'

def tr(s):
	v = s.split(pl)
	v.sort()
	return pl.join(v)
print(tr(input()))


import sys

def partition(a, low, high):
	pivot = a[high]
	i = low - 1
	for j in range(low, high - 1):
		if a[j] <= pivot:
			i += 1
			temp = a[j]
			a[j] = a[i]
			a[i] = temp
		temp = a[high]
		a[high] = a[i + 1]
		a[i + 1] = a[high]
		return i + 1

def quicksort(item, low, high):
	if low < high:
		pi = partition(item, low, high)
		quicksort(item, low, pi - 1)
		quicksort(item, pi + 1, high)
line = sys.stdin.readline()
line = line[:-1]
data = list(map(lambda x: int(x), filter(lambda x: x != '+', line)))
data.sort()
prstr = str(data[0])
for i in range(1, len(data)):
	prstr += '+'
	prstr += str(data[i])
print(prstr)


s = input()
ans = '1+' * s.count('1') + '2+' * s.count('2') + '3+' * s.count('3')
print(ans[:-1])


import sys
s = sys.stdin.readline().strip()
l = sorted(s.split('+'))
print('+'.join(l))


operands = input().split('+')
operands.sort()
print('+'.join(operands))


jstr = input().split('+')
istr = ''
result = ''
for i in jstr:
	i = int(i)
jstr.sort()
if len(jstr) > 1:
	for i in range(1, len(jstr) + len(jstr) - 1, 2):
		jstr.insert(i, '+')
	for i in jstr:
		istr += i
	result = istr
else:
	result = str(jstr[0])
print(result)


s = input()
l = list(map(str, s.split('+')))
l.sort()
print('+'.join(l))


s = input()
l = []
s2 = ''
s1 = '+'
if len(s) == 1:
	print(s)
else:
	for i in range(len(s)):
		if s[i].isdigit():
			l.append(s[i])
	l.sort()
	for i in range(len(l)):
		s2 += l[i]
	print(s1.join(s2))


import sys
import math
from collections import Counter
from collections import OrderedDict
from functools import reduce
sys.setrecursionlimit(10 ** 6)

def inputt():
	return sys.stdin.readline().strip()

def printt(n):
	sys.stdout.write(str(n) + '\n')

def listt():
	return [int(i) for i in inputt().split()]

def gcd(a, b):
	return math.gcd(a, b)

def lcm(a, b):
	return a * b // gcd(a, b)

def factors(n):
	return set(reduce(list.__add__, ([i, n // i] for i in range(1, int(n ** 0.5) + 1) if n % i == 0)))

def comb(n, k):
	factn = math.factorial(n)
	factk = math.factorial(k)
	fact = math.factorial(n - k)
	ans = factn // (factk * fact)
	return ans
s = inputt()
l = []
for i in range(len(s)):
	if i % 2 == 0:
		l.append(int(s[i]))
l.sort()
for i in range(len(l)):
	print(l[i], end='')
	if i != len(l) - 1:
		print('+', end='')


sum = str(input())
nmbrs = []
for nmb in sum:
	if nmb != '+':
		nmbrs.append(int(nmb))
nmbrs = sorted(nmbrs)
srtd = ''
for nmb in nmbrs:
	if not srtd:
		srtd += str(nmb)
	else:
		srtd += '+' + str(nmb)
print(srtd)


n = input()
li = []
for i in n:
	if i != '+':
		li.append(i)
li.sort()
for _ in range(len(li)):
	if len(li) > 1:
		print(li[0] + '+', end='')
		li.pop(0)
	else:
		print(li[0])


def rearrange():
	s = input()
	c = [0] * 3
	i = 0
	for i in s:
		if i == '1':
			c[0] += 1
		elif i == '2':
			c[1] += 1
		elif i == '3':
			c[2] += 1
	s = ''
	for i in range(len(c)):
		counter = i + 1
		for _ in range(c[i]):
			s += str(counter) + '+'
	s = s[:-1]
	print(s)
rearrange()


string = input()
result = ''
my_list = string.split('+')
my_list.sort()
for n in range(len(my_list)):
	result += f'{my_list[n]}+'
l = len(result) - 1
result = result[:l]
print(result)


sum = input()
numbers = []
for letter in sum:
	if letter.isdigit():
		numbers += letter
numbers = sorted(numbers)
result = ''
for number in numbers:
	result += number + '+'
print(result[0:-1])


S = input()
c1 = S.count('1')
c2 = S.count('2')
c3 = S.count('3')
S_new = ''
while c1 > 0:
	S_new += '1'
	S_new += '+'
	c1 = c1 - 1
while c2 > 0:
	S_new += '2'
	S_new += '+'
	c2 = c2 - 1
while c3 > 0:
	S_new += '3'
	S_new += '+'
	c3 = c3 - 1
print(S_new[:-1])


s = input()
d = s.replace('+', '')
l = list(d)
l.sort()
print('+'.join(l))


string1 = input().split('+')
string2 = string1
string2.sort()
ans = ''
for f in string2:
	ans += f + '+'
print(ans[:len(ans) - 1])


x = input()
y = list(x)
num1 = 0
num2 = 0
num3 = 0
for s in y:
	if s == '1':
		num1 = num1 + 1
	elif s == '2':
		num2 = num2 + 1
	elif s == '3':
		num3 = num3 + 1
out = ''
for s in range(num1):
	out = out + '1+'
for s in range(num2):
	out = out + '2+'
for s in range(num3):
	out = out + '3+'
print(out[:-1])


string = input()
numbers = string.split('+')
numbers.sort()
print('+'.join(numbers))


vorodi = input()
vorodi = list(vorodi.split('+'))
vorodi.sort()
for i in range(len(vorodi)):
	if i != len(vorodi) - 1:
		print(vorodi[i] + '+', end='')
	else:
		print(vorodi[i])


s1 = input()
l1 = []
for i in range(1, len(s1) + 1):
	if i % 2 == 1:
		l1.append(s1[i - 1])
l1 = sorted(l1)
l2 = []
for i in range(len(l1)):
	l2.append(l1[i])
	l2.append('+')
print(''.join(l2[:-1]))


def main():
	text = input()
	nums = []
	for i in range(0, len(text), 2):
		nums.append(text[i])
	nums = sorted(nums)
	output = []
	for i in range(len(nums) - 1):
		print(nums[i] + '+', end='')
	print(nums[-1])
main()


user_input = input()
user_input = user_input.split('+')
string = ''
user_input.sort()
for i in range(len(user_input)):
	string += user_input[i] + '+'
print(string[:-1])


s = input()
if '+' in s:
	n = len(s) // 2 + 1
	add = list(map(int, s.split('+')))
	add.sort()
	i = 0
	while i < n - 1:
		print(add[i], end='')
		print('+', end='')
		i += 1
	print(add[n - 1])
else:
	print(s)


def main():
	str = input()
	am1 = am2 = am3 = 0
	for i in str:
		if i == '1':
			am1 += 1
		elif i == '2':
			am2 += 1
		elif i == '3':
			am3 += 1
	str = ''
	while am1 or am2 or am3:
		if (am1 > 1 or am2 or am3) and am1:
			str += '1+'
			am1 -= 1
		elif am1 == 1:
			str += '1'
			am1 -= 1
		elif (am2 > 1 or am1 or am3) and am2:
			str += '2+'
			am2 -= 1
		elif am2 == 1:
			str += '2'
			am2 -= 1
		elif (am3 > 1 or am2 or am1) and am3:
			str += '3+'
			am3 -= 1
		elif am3 == 1:
			str += '3'
			am3 -= 1
	print(str)
main()


h = list(input().split('+'))
h.sort()
print('+'.join(h))


unordered = input().strip().split('+')
unordered.sort()
print('+'.join(unordered))


s = input()
x = s.split('+')
x.sort()
answer = ''
for numbers in x:
	if answer == '':
		answer = numbers
	else:
		answer = answer + '+' + numbers
print(answer)


l = input()
size = len(l)
arr = [0] * (size // 2 + 1)
res = ''
if size == 1:
	print(l)
else:
	j = 0
	for i in range(0, size, 2):
		arr[j] = int(l[i])
		j += 1
	arr.sort()
	for i in range(len(arr)):
		res += str(arr[i]) + '+'
	print(res[0:size])


improper = input()
proper = []
for i in improper:
	if i == '+':
		continue
	else:
		proper.append(int(i))
proper.sort()
for i in range(len(proper)):
	print(proper[i], end='')
	if i != len(proper) - 1:
		print('+', end='')
	else:
		break


word = input()
li = []
for i in word:
	if i != '+':
		li.append(i)
new = [int(i) for i in li]
new = sorted(new)
for i in range(0, len(new)):
	if i != len(new) - 1:
		print(str(new[i]) + '+', end='')
	else:
		print(str(new[i]))


n = input('')
x = n[0::2]
t = ''
n = list(x)
n.sort()
for i in range(len(n)):
	t += n[i]
t = '+'.join(t)
print(t)


s = input()
lst = []
for i in range(len(s)):
	if s[i] != '+':
		lst.append(s[i])
lst.sort()
for i in range(len(lst)):
	print(lst[i], end='')
	if i < len(lst) - 1:
		print('+', end='')


s = input()
if len(s) > 1:
	l = s.split('+')
	l.sort()
	print(*l, sep='+')
else:
	print(s)


s = input()
l = []
n = []
for i in range(len(s)):
	if s[i].isdigit():
		l.append(int(s[i]))
l.sort()
for i in range(len(l) - 1):
	print(l[i], '+', sep='', end='')
print(l[-1])


def summ(mas):
	s = str(mas[0])
	for i in range(1, len(mas)):
		s += '+' + str(mas[i])
	return s
s = input()
mas = []
for i in range(len(s)):
	if s[i] != '+':
		mas.append(int(s[i]))
mas.sort()
print(summ(mas))


lst = []
string = input()
for char in string:
	if char != '+':
		lst.append(int(char))
new_lst = sorted(lst)
size = len(new_lst)
new_string = ''
last_char = str(new_lst[size - 1])
for i in range(0, size - 1):
	new_string = new_string + str(new_lst[i]) + '+'
print(new_string + last_char)


sum = input()
sumlist = list(sum)
i = 0
while i != int((len(sum) - 1) / 2):
	sumlist.remove('+')
	i += 1
for (nummer, zahl) in enumerate(sumlist):
	sumlist[nummer] = int(zahl)
sumlist.sort()
for (nummer, zahl) in enumerate(sumlist):
	sumlist[nummer] = str(zahl)
output = '+'.join(sumlist)
print(output)


string = input()
ones = []
twos = []
threes = []
for i in string:
	if i == '1':
		ones.append(i)
	if i == '2':
		twos.append(i)
	if i == '3':
		threes.append(i)
result = ''
for i in ones:
	result += i + '+'
for i in twos:
	result += i + '+'
for i in threes:
	result += i + '+'
finalresult = ''
for i in range(0, len(result) - 1):
	finalresult += result[i]
print(finalresult)


ans = [int(x) for x in input().split('+')]
ans.sort()
print(*ans, sep='+')


n = input()
n = n.replace('+', '')
r = ''
lst = [int(i) for i in n]
lst.sort()
for i in lst:
	r += '+' + str(i)
print(r[1:])


numberlist = input().split('+')
numberlist.sort()
ans = numberlist[0]
for i in range(1, len(numberlist)):
	ans = ans + '+' + numberlist[i]
print(ans)


def main():
	s = list(map(int, input().split('+')))
	if len(s) == 1:
		print(s[0])
		return
	s = sorted(s)
	ans = ''
	for c in range(len(s)):
		if c != 0:
			ans += '+'
		ans += str(s[c])
	print(ans)
main()


import sys
s = str(input())
i = 0
nums = []
while i < len(s):
	if s[i] in '123':
		nums.append(int(s[i]))
	i += 1
nums.sort()
s = str(nums[0])
i = 1
while i < len(nums):
	s = s + '+' + str(nums[i])
	i += 1
print(s)


s = input()
arr = []
one = s.count('1')
two = s.count('2')
three = s.count('3')
for i in range(one):
	arr.append(1)
for i in range(two):
	arr.append(2)
for i in range(three):
	arr.append(3)
print(*arr, sep='+')


n = input()
x = []
z = []
for i in n:
	if i != '+':
		x.append(int(i))
x.sort()
for u in range(len(x)):
	if u != len(x) - 1:
		z.append(str(x[u]))
		z.append('+')
	else:
		z.append(str(x[u]))
print(*z, sep='')


l = list(map(int, input().split('+')))
l.sort()
n = len(l)
for i in range(n):
	print(l[i], end='')
	if i != n - 1:
		print('+', end='')


a = sorted(input())
tam = len(a)
a = a[tam // 2:]
for i in range(1, tam - 1, 2):
	a.insert(i, '+')
a = ''.join(a)
print(a)


s = str(input())
while '+' in s:
	s = s.replace('+', '')
s = sorted(s)
a = ''
k = len(s)
z = 1
a = s[0]
while z < k:
	a = a + '+' + s[z]
	z += 1
print(a)


from collections import Counter
s = input()
c = Counter(s)
del c['+']
sn = '+'.join(sorted(c.elements()))
print(sn)


li = list(input().split('+'))
L = len(li)
li.sort()
for i in range(1, L + L - 1, 2):
	li.insert(i, '+')
for i in li:
	print(i, end='')


def ii():
	return int(input())

def si():
	return input()

def mi():
	return map(int, input().split())

def li():
	return list(mi())
l = ['a', 'e', 'i', 'o', 'u', 'y', 'A', 'E', 'O', 'I', 'U', 'Y']
s = si()
a = s.count('1')
b = s.count('2')
c = s.count('3')
ans = ''
for i in range(a + b + c):
	while a:
		ans += '1'
		ans += '+'
		a -= 1
	while b:
		ans += '2'
		ans += '+'
		b -= 1
	while c:
		ans += '3'
		ans += '+'
		c -= 1
print(ans[0:len(s)])


s = input()
sr = sorted(s)
last = []
for i in range(len(sr)):
	if sr[i] != '+':
		last.append(sr[i])
		last.append('+')
if last[-1] == '+':
	last.pop()
print(''.join(last))


s = map(int, input().split('+'))
m = ''
for i in sorted(s):
	m = m + str(i) + '+'
print(m[:len(m) - 1])


b = []
a = input()
for i in a:
	b.append(i)
for i in range(0, len(b), 2):
	for j in range(0, len(b) - i - 1, 2):
		if int(b[j]) > int(b[j + 2]):
			(b[j + 2], b[j]) = (b[j], b[j + 2])
print(''.join(b))


s = input()
a = []
i = 0
while i < len(s):
	a.append(s[i])
	i += 2
a.sort()
print('+'.join(map(str, a)))


s = input()
a = []
for i in range(0, len(s), 2):
	a.append(s[i])
a.sort()
j = 0
for i in range(0, len(s), 2):
	s = s[:i] + a[j] + s[i + 1:]
	j += 1
print(s)


line = input()
a = line.split('+')
a.sort()
print('+'.join(a))


print('+'.join(sorted([i for i in input().strip() if i.isdigit()])))


eql = input()
eql = eql.split('+')
eql.sort()
print('+'.join(eql))


def main():

	def partition(arr, low, high):
		i = low - 1
		pivot = int(arr[high])
		for j in range(low, high):
			if int(arr[j]) < pivot:
				i = i + 1
				(arr[i], arr[j]) = (int(arr[j]), int(arr[i]))
		(arr[i + 1], arr[high]) = (int(arr[high]), int(arr[i + 1]))
		return i + 1

	def quickSort(arr, low, high):
		if low < high:
			pi = partition(arr, low, high)
			quickSort(arr, low, pi - 1)
			quickSort(arr, pi + 1, high)
	s = input()
	if len(s) <= 100:
		arr = s.split('+')
		quickSort(arr, 0, len(arr) - 1)
		newS = '+'.join([str(elem) for elem in arr])
		print(newS)
	else:
		pass
main()


x = str(input())
y = sorted(x)
del y[:y.count('+')]
print('+'.join(''.join(y)))


n = list(input())
count1 = n.count('+')
for i in range(count1):
	n.remove('+')
n.sort()
n = '+'.join(n)
print(n)


str = input()
arr = sorted(str.split('+'))
conveted_str = '+'.join(arr)
print(conveted_str)


def main():
	s = input().split('+')
	aList = []
	for i in range(len(s)):
		aList.append(int(s[i]))
	aList.sort()
	output = ''
	for j in range(len(aList) - 1):
		output += str(aList[j]) + '+'
	output += str(aList[-1])
	print(output)
main()


arr = input()
a = [int(n) for n in arr.split('+')]
a.sort()
for i in range(len(a)):
	print(a[i], end='')
	if i != len(a) - 1:
		print('+', end='')


a = list(map(int, input().split('+')))
a.sort()
indexLastElement = len(a) - 1
for i in range(len(a)):
	if i == indexLastElement:
		print(a[i])
	else:
		print(a[i], end='+')


from collections import Counter
numbers = list(map(int, input().split('+')))
count = Counter(numbers)
result = list()
for i in sorted(count):
	c = count[i]
	while c > 0:
		result.append(str(i))
		result.append('+')
		c -= 1
result.pop()
print(''.join(result))


s = str(input())
sToInt = list(s)
intValues = []
str1 = ''
for i in range(len(sToInt)):
	if sToInt[i] != '+':
		intValues.append(int(sToInt[i]))
intValues.sort()
for j in range(len(intValues)):
	if j != 0:
		intValues[j] = '+' + str(intValues[j])
for a in range(len(intValues)):
	intValues[a] = str(intValues[a])
finalResult = str1.join(intValues)
print(finalResult)


t = str(input())
a = t.split('+')
a.sort()
f = []
for j in a:
	f.append(j)
	f.append('+')
x = len(f)
f = f[:x - 1]
for i in f:
	print(i, end='')


sum = input()
if len(sum) > 1:
	num = sum.split('+')
	num.sort()
	print('+'.join(num))
else:
	print(sum)


n = list(input())
a = []
for i in range(0, len(n), 2):
	a.append(n[i])
a.sort()
for i in range(1, len(n), 2):
	a.insert(i, '+')
print(''.join(a))


sum_of = input()
unsorted_array = sum_of.replace('+', '')
sorted_array = sorted(unsorted_array)
result = '+'.join(sorted_array)
print(result)


n = str(input())
line = []
let = []
for i in list(n):
	if i != '+':
		line.append(i)
line.sort()
for i in range(len(line) - 1):
	let.append(line[i])
	let.append('+')
let.append(line[len(line) - 1])
y = ''.join(let)
print(y)


sumline = list(map(int, input().split('+')))
sumline.sort()
sumline = map(str, sumline)
print('+'.join(sumline))


s = list(map(int, input().split('+')))
s.sort()
print('+'.join([str(s[i]) for i in range(0, len(s))]))


a = str(input())
a = a.replace('+', '')
d = []
for i in a:
	d.append(i)
d.sort()
x = []
for i in d:
	x.append(i)
	x.append('+')
x.pop()
s = ''
for i in x:
	s = s + i
print(s)


s = input()
s = list(s)
list1 = []
for i in range(len(s)):
	if s[i] > '0' and s[i] < '4':
		list1.append(s[i])
list1.sort()
for i in range(len(list1)):
	if i < len(list1) - 1:
		print(list1[i], end='')
		print('+', end='')
	else:
		print(list1[i])


op = list(input())
l = len(op)
s = []
oper = ''
for i in range(0, l):
	if op[i] != '+':
		s.append(int(op[i]))
s.sort()
oper = '' + str(s[0])
for i in range(1, len(s)):
	oper = oper + '+' + str(s[i])
print(oper)


Numbers = []
count = 0
N = str(input(''))
for i in N:
	if i != '+':
		Numbers.append(i)
	else:
		count += 1
Numbers = sorted(Numbers)
for j in Numbers:
	print(j, end='')
	if count != 0:
		print('+', end='')
		count -= 1


string = str(input())
numbers = []
for char in string:
	if char == '1' or char == '2' or char == '3':
		numbers.append(char)
numbers = sorted(numbers)
toprint = []
for i in range(len(numbers)):
	toprint.append(numbers[i])
	try:
		if numbers[i + 1] != None:
			toprint.append('+')
	except IndexError:
		break
print(''.join(toprint))


string = input()
l1 = string.split('+')
l1.sort()
print('+'.join(l1))


h = input()
h = list(h)
a = 0
b = 0
c = 0
ans = ''
for i in range(len(h)):
	if h[i] == '1':
		a = a + 1
	if h[i] == '2':
		b = b + 1
	if h[i] == '3':
		c = c + 1
for i in range(a):
	if i == a - 1:
		if b == 0 and c == 0:
			ans = ans + '1'
		else:
			ans = ans + '1' + '+'
	else:
		ans = ans + '1' + '+'
for i in range(b):
	if i == b - 1:
		if c == 0:
			ans = ans + '2'
		else:
			ans = ans + '2' + '+'
	else:
		ans = ans + '2' + '+'
for i in range(c):
	if i == c - 1:
		ans = ans + '3'
	else:
		ans = ans + '3' + '+'
print(ans)


def test11():
	temp_str = input().strip()
	(x, y, z) = (temp_str.count('1'), temp_str.count('2'), temp_str.count('3'))
	out_str = ''
	for i in range(x):
		out_str += '+1'
	for i in range(y):
		out_str += '+2'
	for i in range(z):
		out_str += '+3'
	print(out_str[1:])
test11()


i = input()
if len(i) > 1:
	l = []
	for j in i:
		l.append(j)
	l = l[::2]
	o = []
	for k in l:
		k = int(k)
		o.append(k)
	o.sort()
	s = []
	for e in o:
		e = str(e)
		s.append(e)
		s.append('+')
	s.pop(len(s) - 1)
	str1 = ''
	y = str1.join(s)
	print(y)
else:
	print(int(i))


input_data = input()
list = input_data.split('+')
list.sort()
output_data = '+'.join(list)
print(output_data)


def sort(a, start, end):
	arr = []
	if end - start == 1:
		arr.append(a[start])
		return arr
	arr1 = sort(a, start, int((start + end) / 2))
	arr2 = sort(a, int((start + end) / 2), end)
	i = 0
	j = 0
	while i != len(arr1) and j != len(arr2):
		if arr1[i] < arr2[j]:
			arr.append(arr1[i])
			i += 1
		else:
			arr.append(arr2[j])
			j += 1
	while i < len(arr1):
		arr.append(arr1[i])
		i += 1
	while j < len(arr2):
		arr.append(arr2[j])
		j += 1
	return arr
s = input()
a = s.split('+')
a = sort(a, 0, len(a))
for i in range(len(a)):
	if i + 1 == len(a):
		print(a[i])
	else:
		print(f'{a[i]}+', end='')


equation = input().split('+')
equation.sort()
output = ''
for i in range(len(equation)):
	output = output + equation[i]
	if i != len(equation) - 1:
		output += '+'
print(output)


x = input('')
s = list(x)
for i in s:
	if i == '+':
		del i
y = sorted(s)
while '+' in y:
	y.remove('+')
result = []
for e in y:
	result.append(e)
	result.append('+')
result.pop()
h = ''
h = h.join(result)
print(h)


import random

def del_nulls(arr):
	x = {}
	(count, i) = (0, -1)
	while i < len(arr) - 1:
		i += 1
		count += 1
		if arr[i] in x:
			x[arr[i]] += 1
			arr.remove(arr[i])
			i -= 1
		else:
			x.update([(arr[i], 1)])
	return x

def qsort(arr, left, right):
	if right - left > 1:
		a = (right + left) // 2
		(l, r) = (left, right)
		while l != r:
			while arr[l] < arr[a]:
				l += 1
			while arr[r] > arr[a]:
				r -= 1
			if l > r:
				(l, r) = (r, l)
			else:
				(arr[l], arr[r]) = (arr[r], arr[l])
		if l != right:
			qsort(arr, left, l)
		if r != left:
			qsort(arr, r, right)
	elif arr[left] > arr[right]:
		(arr[left], arr[right]) = (arr[right], arr[left])
arr = list(map(int, input().split('+')))
del_list = del_nulls(arr)
qsort(arr, 0, len(arr) - 1)
for i in range(0, len(arr)):
	for j in range(0, del_list[arr[i]]):
		if not (i == 0 and j == 0):
			print('+', end='')
		print(arr[i], end='')


yes = input()
n = []
for i in yes:
	if i.isdigit():
		n.append(int(i))
n.sort()
k = 0
for i in yes:
	if i.isdigit():
		print(n[k], end='')
		k += 1
	else:
		print(i, end='')


s = input()
t = len(s)
liste = []
for i in range(0, t, 2):
	liste.append(s[i])
liste.sort()
for (i, e) in enumerate(liste):
	if i != len(liste) - 1:
		print(e, end='')
		print('+', end='')
	else:
		print(e)


sm = list(input().split('+'))
print('+'.join(sorted(sm)))


string = input()
string = string.split('+')
string.sort()
new_string = '+'.join(string)
print(new_string)


def solve(string):
	spl = string.split('+')
	i_spl = [int(s) for s in spl]
	srt = sorted(i_spl)
	result = ''
	for i in range(len(srt)):
		result += str(srt[i]) + '+'
	new_result = result[:-1]
	return new_result
s = str(input())
print(solve(s))


s = input()
v = [int(x) for x in s.split('+')]
v.sort()
s = ''
for i in v:
	s += str(i) + '+'
print(s[:-1])


a = input()
arr = []
for char in a:
	if char == '+':
		continue
	else:
		arr.append(int(char))
n = len(arr)
arr.sort()
for i in range(0, n):
	print(arr[i], end='')
	if i == n - 1:
		continue
	print('+', end='')


summands = str(input())
new_list = []
for i in range(0, len(summands)):
	if summands[i].isdigit and summands[i] != '+':
		new_list.append(summands[i])
new_list = sorted(new_list, reverse=False)
final = '' + new_list[0]
for i in range(1, len(new_list)):
	final = final + '+' + new_list[i]
print(final)


input_text = input().split('+')
numbers = []
for n in input_text:
	numbers.append(int(n))
numbers = sorted(numbers)
result = ''
for i in range(len(numbers) - 1):
	result += '{0}+'.format(numbers[i])
result += '{0}'.format(numbers[len(numbers) - 1])
print(result)


str1 = input()
str2 = list(str1)
for i in range(0, len(str1) - 2, 2):
	for j in range(0, len(str1) - 2, 2):
		if str2[j] > str2[j + 2]:
			(str2[j], str2[j + 2]) = (str2[j + 2], str2[j])
str3 = ''.join(str2)
print(str3)


l = list(input())
p = []
for i in range(0, len(l), 2):
	p.append(l[i])
p = list(sorted(map(int, p)))
s = str(p[0])
for i in range(1, len(p)):
	s += '+' + str(p[i])
print(s)


def insertionSort(alist):
	for index in range(1, len(alist)):
		currentvalue = alist[index]
		position = index
		while position > 0 and alist[position - 1] > currentvalue:
			alist[position] = alist[position - 1]
			position = position - 1
		alist[position] = currentvalue
alist = list(map(int, input().split('+')))
insertionSort(alist)
print('+'.join(map(str, alist)))


import sys
for text in sys.stdin:
	text = text.split('+')
	vector = []
	for i in range(0, len(text)):
		vector.append(int(text[i]))
	vector.sort()
	answer = ''
	size = len(vector)
	for i in range(0, size):
		answer += str(vector[i])
		if i != size - 1:
			answer += '+'
	print(answer)


input = input()
x = input.split('+')
x.sort()
f = ''
print('+'.join(x))


m = []
m = input().split('+')
m.sort(key=int)
print(*m, sep='+')


a = input()
if '+' in a:
	b = list(map(str, a.split('+')))
	b = sorted(b)
	temp = ''
	for i in range(0, len(b) - 1):
		temp += b[i] + '+'
	temp += b[len(b) - 1]
	print(temp)
else:
	print(a)


n = input()
l = len(n)
k = []
for i in n:
	if i != '+':
		k.append(int(i))
k.sort()
v = []
for i in k:
	v.append(i)
	v.append('+')
s = v[:-1]
print(*s, sep='')


str = input()
numList = str.split('+')
numList.sort()
newStr = ''
for c in numList:
	newStr = newStr + c + '+'
print(newStr[0:-1])


yui = input()
dicts = {}
for i in yui:
	if i == '+':
		continue
	if i not in dicts:
		dicts[i] = 1
	else:
		dicts[i] += 1
total = ''
for i in sorted(dicts):
	times = dicts[i]
	kk = i + '+'
	vt = kk * times
	total += vt
yup = total[:-1]
print(yup)


list = input().split('+')
list1 = [int(i) for i in list]
list1.sort()
str1 = ''
c = len(list1) * 2 - 1
for a in list1:
	str1 += '{}+'.format(a)
print(str1[:c])


a = input()
result = ''
if a.find('+') != -1:
	a = a.split('+')
	a = [int(j) for j in a]
	a.sort()
	for i in range(len(a)):
		if i != len(a) - 1:
			result = result + str(a[i]) + '+'
		else:
			result = result + str(a[i])
	print(result)
else:
	print(a)


user_input = input()
string = sorted(user_input.split('+'))
output = ''
for c in string:
	output = output + c + '+'
print(output[:-1])


x = input()
b = x.split('+')
b.sort()
st = ''
for i in b:
	st += '+' + i
print(st[1:])


string1 = input()
arr1 = []
arr1.append(string1.split('+'))
arr2 = []
for i in range(len(arr1[0])):
	element = arr1[0][i]
	arr2.append(int(element))
arr2.sort()
string2 = ''
for i in range(len(arr2)):
	string2 += str(arr2[i])
	if i != len(arr2) - 1:
		string2 += '+'
print(string2)


line = input()
items = line.split('+')
out = '+'.join(items)
list.sort(items)
a = '+'.join(items)
print(a)


s = input()
s = list(s)
c = s.count('+')
for i in range(c):
	s.remove('+')
s.sort()
for i in range(len(s) - 1):
	print(s[i], end='+')
print(s[-1])


def solve():
	expr = input()
	nums = []
	for num in expr:
		if num.isnumeric():
			nums.append(num)
	nums.sort()
	new_expr = ''
	for num in nums:
		new_expr += str(num) + '+'
	print(new_expr[0:len(new_expr) - 1])
	return
solve()


input = list(map(int, input().split('+')))
c = ''
for i in sorted(input):
	c += str(i) + '+'
print(c[:len(c) - 1])


s = input().split('+')
s.sort()
result = ''
for i in s[:-1]:
	result += i + '+'
result = result + s[-1]
print(result)


x = list(map(str, input().split('+')))
k = ''.join(sorted(x))
flip = False
index = 0
for i in range(len(x) + (len(x) - 1)):
	if flip == False:
		print(k[index], end='')
		index += 1
		flip = True
	else:
		print('+', end='')
		flip = False


table = list(input())
l = []
t = []
for i in table:
	if i == '+':
		for j in t:
			l.append(j)
		t.clear()
	else:
		t.append(i)
l.append(t[0])
l.sort(reverse=False)
s = ''
for i in l:
	s += i
	s += '+'
print(s[:-1])


x1 = input().split('+')
x1.sort()
print('+'.join(x1))


summan = input()
num = []
for i in range(len(summan)):
	if summan[i] > '0' and summan[i] < '4':
		num += [int(summan[i])]
num.sort()
for i in range(len(num)):
	if i < len(num) - 1:
		print(num[i], end='+')
	else:
		print(num[i])


x = input().split('+')
a = b = c = 0
for i in x:
	if i == '1':
		a += 1
	elif i == '2':
		b += 1
	elif i == '3':
		c += 1
s = '1+' * a + '2+' * b + '3+' * c
print(s[:-1])


a = input()
(o, t, three) = (0, 0, 0)
res = a[::2]
res = sorted(res)
print('+'.join(res))


import sys
m = map(int, sys.stdin.read().split('+'))
print('+'.join(sorted(map(str, m))))


total = input().split('+')
total.sort()
result = ''
for i in range(len(total)):
	result += total[i] + '+'
print(result[:-1])


def bs(arr):
	to_sort = arr[:]
	l = len(to_sort)
	for i in range(l):
		for j in range(l):
			if j != l - 1:
				if to_sort[j] > to_sort[j + 1]:
					(to_sort[j], to_sort[j + 1]) = (to_sort[j + 1], to_sort[j])
	return to_sort

def convert_to_math_op(arr):
	arr_str = list(map(str, arr[:]))
	new_s = '+'
	return new_s.join(arr_str)
s = list(map(int, input().split('+')))
sort_s = bs(s)
new_s = convert_to_math_op(sort_s)
print(new_s)


a_list = [None] * 3
sinput = input()
output = ''
for i in sinput:
	if i != '+':
		if a_list[int(i) - 1] is None:
			a_list[int(i) - 1] = 1
		else:
			a_list[int(i) - 1] += 1
for i in range(len(a_list)):
	if a_list[i] is not None:
		for j in range(a_list[i]):
			output += str(i + 1) + '+'
print(output[:-1])


def sub_sort(array, low, high):
	key = array[low]
	while low < high:
		while low < high and array[high] >= key:
			high -= 1
		while low < high and array[high] < key:
			array[low] = array[high]
			low += 1
			array[high] = array[low]
	array[low] = key
	return low

def quick_sort(array, low, high):
	if low < high:
		key_index = sub_sort(array, low, high)
		quick_sort(array, low, key_index)
		quick_sort(array, key_index + 1, high)
a = input().split('+')
quick_sort(a, 0, len(a) - 1)
s = ''
for i in a:
	s = s + i + '+'
print(s[:-1])


import string
c = string.digits
s = input()
b = []
for i in s:
	if i in c:
		b.append(i)
b.sort()
ans = ''
for i in b:
	ans += i
	ans += '+'
ans = list(ans)
ans.pop(len(ans) - 1)
p = ''
for i in ans:
	p += i
print(p)


x = sorted(input()[::2])
y = ''
for i in range(len(x)):
	y = '+'.join(x)
print(y)


string = input()
num = string.split('+')
final = list()
l = ['1', '2', '3']
for j in l:
	for i in num:
		if i == j:
			final.append(i)
print('+'.join(final))


s = input()
res = []
for i in s:
	if i.isdigit():
		res.append(i)
x = ''
res.sort()
for j in res:
	x += j + '+'
print(x[:-1])


n = input()
s = list(n)
s = sorted(s)
for i in range(int(len(s) / 2)):
	s.remove('+')
k = 1
for i in range(len(s) - 1):
	s.insert(k, '+')
	k = k + 2
ns = ''.join(map(str, s))
print(ns)


s1 = input()
(n1, n2, n3) = (0, 0, 0)
for char in s1:
	if char == '1':
		n1 += 1
	elif char == '2':
		n2 += 1
	elif char == '3':
		n3 += 1
t = n1 + n2 + n3
s = ''
for i in range(t):
	if i < n1 and i != t - 1:
		s += '1+'
	elif i < n1 and i == t - 1:
		s += '1'
	elif i < n1 + n2 and i != t - 1:
		s += '2+'
	elif i < n1 + n2 and i == t - 1:
		s += '2'
	elif i != t - 1:
		s += '3+'
	elif i == t - 1:
		s += '3'
print(s)


a = str(input())
app = []
count = 0
for j in a:
	if count % 2 == 0 or j == 0:
		app.append(a[count])
	count += 1
app.sort()
print(*app, sep='+')


s = input()
s1 = s2 = s3 = 0
for i in range(0, len(s), 2):
	if s[i] == '1':
		s1 += 1
	elif s[i] == '2':
		s2 += 1
	else:
		s3 += 1
sol = '1+' * s1 + '2+' * s2 + '3+' * s3
print(sol[:-1])


n = input()
l = []
if len(n) == 1:
	print(n)
else:
	for i in range(len(n)):
		if n[i].isdigit():
			l.append(n[i])
	p = sorted(l)
	d = ''
	for i in range(0, len(p) - 1):
		d = d + p[i] + '+'
	d = d + p[-1]
	print(d)


s = input()
ar = [i for i in s if i.isdigit()]
res = '+'.join(sorted(ar))
print(res)


s = str(input())
l = len(s)
c1 = c2 = c3 = 0
for i in range(0, l):
	if s[i] == '1':
		c1 += 1
	elif s[i] == '2':
		c2 += 1
	elif s[i] == '3':
		c3 += 1
ss = str(1) * c1 + str(2) * c2 + str(3) * c3
l = len(ss)
for i in range(0, l):
	if i < l - 1:
		print(ss[i], '+', end='', sep='')
	else:
		print(ss[i], end='', sep='')


def helpful():
	x = input().split('+')
	return '+'.join(sorted(x))
print(helpful())


def sum_nums(summation):
	if len(summation) == 1:
		print(summation)
	else:
		num_list_sorted = sorted(summation.split('+'))
		ordered_summation = '+'.join(num_list_sorted)
		print(ordered_summation)
sum_str = input()
sum_nums(sum_str)


st = input()
n = int(len(st) / 2) if len(st) % 2 == 0 else int(len(st) / 2) + 1
a = [0] * n
k = 0
for i in range(len(st)):
	if st[i] != '+':
		a[k] = int(st[i])
		k += 1
a.sort()
k = 0
st_out = ''
for i in range(len(st)):
	if st[i] != '+':
		st_out += str(a[k])
		k += 1
	else:
		st_out += '+'
print(st_out)


h = [i for i in input().split('+')]
h.sort()
print('+'.join(h))


s = list(map(str, input().split('+')))
s.sort()
p = ''
for i in range(len(s)):
	if i == len(s) - 1:
		p += s[i]
	elif i != len(s) - 1:
		p += s[i] + '+'
print(p)


s = str(input())
s2 = str()
for i in s:
	if i != '+':
		s2 += i
s2 = sorted(s2)
s3 = []
for i in s2:
	s3.append(i)
	s3.append('+')
del s3[-1]
for i in s3:
	print(i, end='')


numbers_sorted = []
string = input().replace('+', '')
for character in string:
	numbers_sorted.append(character)
numbers_sorted.sort()
equation = numbers_sorted[0]
for i in range(1, len(numbers_sorted)):
	equation += '+' + numbers_sorted[i]
print(equation)


_nums = input().split('+')
_nums.sort()
_str = '+'.join(_nums)
print(_str)


string = input()
l = [0, 0, 0]
op = []
for char in string:
	if char == '1':
		l[0] += 1
	if char == '2':
		l[1] += 1
	if char == '3':
		l[2] += 1
for i in range(0, 3):
	for j in range(0, l[i]):
		op.append(str(i + 1))
print('+'.join(op))


math_eqn = input()
lst = []
new_string = ''
a = b = c = 0
for i in range(0, len(math_eqn)):
	if math_eqn[i] == '1' or math_eqn[i] == '2' or math_eqn[i] == '3':
		lst.append(int(math_eqn[i]))
lst.sort()
for i in range(len(lst)):
	new_string = new_string + str(lst[i]) + '+'
print(new_string[:-1])


ch = input()
l = []
l = ch.split('+')
for i in range(len(l)):
	print(min(l), end='')
	l[l.index(min(l))] = '='
	if i != len(l) - 1:
		print('+', end='')


a = input()
a = a.replace('+', '')
p = ''
y = [0] * len(a)
n = [0] * len(a)
t = [0] * len(a)
b = len(a)
for i in range(len(a)):
	y[i] = int(a[i])
for i in range(len(a)):
	t[i] = int(a[i])
for i in range(b - 1, 0, -1):
	n[i] = max(y)
	del y[y.index(max(y))]
n[0] = min(t)
for i in range(b):
	p += str(n[i]) + '+'
p = p[:len(p) - 1]
print(p)


a = input()
b = list(a)
b.sort()
s = ' '
x = '+'
for i in b:
	if i != x:
		s = s + '+' + i
print(s[2:])


add_op = input()
number = add_op.split('+')
number = [int(x) for x in number]
number.sort()
number = [str(i) for i in number]
print('+'.join(number))


cal = list(map(int, input().strip().split('+')))
cal.sort(reverse=False)
cal_final = ''
for i in cal:
	cal_final = cal_final + str(i) + '+'
print(cal_final[:-1])


def main():
	sum = str(input()).split('+')
	ones = []
	twos = []
	threes = []
	output = ''
	for i in range(len(sum)):
		if sum[i] == '1':
			ones.append(i)
		elif sum[i] == '2':
			twos.append(i)
		else:
			threes.append(i)
	for i in ones:
		output = output + '1+'
	for i in twos:
		output = output + '2+'
	for i in threes:
		output = output + '3+'
	output = output[:len(sum) * 2 - 1]
	print(output)
main()


w = [int(w) for w in input().split('+')]
n1 = n2 = n3 = 0
for i in range(len(w)):
	if w[i] == 1:
		n1 += 1
	elif w[i] == 2:
		n2 += 1
	else:
		n3 += 1
print((str('1+') * n1 + str('2+') * n2 + str('3+') * n3)[:-1])


text = [i for i in input().split('+')]
text.sort()
text = '+'.join(text)
print(text)


def sortSum(sumString):
	delimeters = '+'
	sumIntStrs = sumString.split(delimeters)
	sumInts = []
	for sumIntStr in sumIntStrs:
		sumInt = int(sumIntStr)
		sumInts.append(sumInt)
	sumInts.sort()
	sortedAns = str(sumInts[0])
	for i in range(1, len(sumInts)):
		sortedAns += delimeters + str(sumInts[i])
	return sortedAns
sumString = input()
print(sortSum(sumString))


s = input().split('+')
s.sort()
n = 0
while n < len(s) - 1:
	s.insert(n + 1, '+')
	n = n + 2
b = ''.join(s)
print(b)


def main():
	m = list(map(int, str(input()).split('+')))
	m.sort()
	print('+'.join(list(map(str, m))))
main()


import sys
my_str = sys.stdin.readline()
in_str = my_str[0:len(my_str) - 1].split('+')
in_str.sort()
print('+'.join(in_str))


xenie = input().split('+')
xenie.sort()
forXenie = []
plus = len(xenie) - 1
for i in xenie:
	forXenie.append(i)
	if plus > 0:
		forXenie.append('+')
		plus -= 1
print(''.join([str(r) for r in forXenie]))


def helpful_maths():
	s = input()
	s = s.split('+')
	s.sort()
	z = ''
	ns = []
	for i in s:
		ns.append(i)
		ns.append('+')
	ns = ns[:len(ns) - 1]
	z = z.join(ns)
	print(z)
helpful_maths()


s = list(map(int, input().split('+')))
n1 = s.count(1)
n2 = s.count(2)
n3 = s.count(3)
ss = '1+' * n1 + '2+' * n2 + '3+' * n3
print(ss[:-1])


print('+'.join([str(g) for g in sorted([int(x) for x in input().split('+')])]))


n = str(input())
i = []
for letter in n[0::2]:
	i.append(letter)
	i.sort()
print('+'.join(i))


var = input()
list = []
for i in var:
	if i != '+':
		list.append(i)
list.sort()
print('+'.join((str(x) for x in list)))


exp = sorted([int(x) for x in input().split('+')])
for (i, j) in enumerate(exp):
	if i != len(exp) - 1:
		print(f'{j}+', end='')
	else:
		print(j)


x = list(map(int, input().split('+')))
x.sort()
a = ''
for z in range(len(x)):
	a = a + '%d+' % x[z]
print(a[:-1])


a = input()
chs = ''
ls = []
res = ''
for i in a:
	if i != '+':
		chs += i
	else:
		ls += [int(chs)]
		chs = ''
ls += [int(chs)]
chs = ''
ls.sort()
pr = True
for i in ls:
	if pr == True:
		res += str(i)
		pr = False
	elif pr == False:
		res += '+'
		res += str(i)
print(res)


s = ''
l = input().split('+')
l.sort()
for i in l:
	if s == '':
		s = s + i
	else:
		s = s + '+' + i
print(s)


string = input()
c = 0
dataList = []
for i in range(0, len(string)):
	if string[i] >= '0' and string[i] <= '9':
		dataList.append(string[i])
dataList.sort()
for i in range(0, len(dataList) - 1):
	print(dataList[i], end='')
	print('+', end='')
print(dataList[len(dataList) - 1])


inp = [int(i) for i in input().split('+')]
inp.sort()
sarr = [str(a) for a in inp]
print('+'.join(sarr))


def solve():
	chars = str(input())
	signs = ['+', '-', '/', '*']
	sign = [sign for sign in signs if sign in chars]
	if not sign:
		return chars
	return sign[0].join(sorted(chars.split(sign[0])))
print(solve())


vvod = str(input())
a = []
for i in vvod:
	a.append(i)
p = 0
while p < len(a):
	if a[p] == '+':
		del a[p]
	p += 1
a.sort()
i = 1
while i < len(a):
	a.insert(i, '+')
	i += 2
i = 0
h = str()
while i < len(a):
	h = h + str(a[i])
	i += 1
print(h)


plus = '+'
inp = input()
list1 = inp.split('+')
list1 = sorted(list1)
print(plus.join(list1))


string = input()
if '+' in string:
	arr = list(map(str, string.split('+')))
	arr.sort()
	print('+'.join(arr))
else:
	print(string)


I = lambda : map(int, input().split())

def main():
	s = input()
	a = []
	pc = 0
	for i in s:
		if i != '+':
			a.append(i)
		else:
			pc += 1
	a.sort()
	print('+'.join(a))
main()


a = input()
t = [x for x in a if x.isdigit()]
t.sort()
print('+'.join(t))


p = sorted(input().split('+'))
sep = '+'
n = sep.join(p)
print(n)
h = []
s = 0


a = input('').split('+')
a.sort()
output = ''
for value in a:
	output = output + value + '+'
print(output[0:len(output) - 1])


n = list(input())
n.sort()
c = n.count('+')
for i in range(0, len(n)):
	if n[i] != '+':
		if i != c:
			print('+', end='')
			print(n[i], end='')
		else:
			print(n[i], end='')


s = input()
l = []
c = '+'
if len(s) == 1:
	print(s)
else:
	for v in s:
		if v not in c:
			l.append(v)
		else:
			pass
l.sort()
a = '+'.join(l)
print(a)


input_str = input().strip()
numbers = {1: 0, 2: 0, 3: 0}
for c in input_str:
	if ord(c) >= 48 and ord(c) <= 51:
		numbers[int(c)] += 1
for one in range(numbers[1]):
	print('1', end='')
	if one - numbers[1] + 1:
		print('+', end='')
if (numbers[2] or numbers[3]) and numbers[1]:
	print('+', end='')
for two in range(numbers[2]):
	print('2', end='')
	if two - numbers[2] + 1:
		print('+', end='')
if numbers[3] and numbers[2]:
	print('+', end='')
for three in range(numbers[3]):
	print('3', end='')
	if three - numbers[3] + 1:
		print('+', end='')
print('')


def combineList(List):
	result = ''
	for i in range(len(List)):
		if i != len(List) - 1:
			result += str(List[i]) + '+'
		else:
			result += str(List[i])
	return result
L = [int(x) for x in input().split('+')]
L.sort()
ans = combineList(L)
print(ans)


w = input()
l1 = list(w)
l2 = []
for i in l1:
	if i == '+':
		continue
	else:
		l2.append(int(i))
for i in range(len(l2)):
	min = i
	for j in range(i + 1, len(l2)):
		if l2[j] < l2[min]:
			min = j
	(l2[i], l2[min]) = (l2[min], l2[i])
strf = ''
flag = 0
for i in l2:
	if flag == 0:
		strf = strf + str(i)
		flag = 1
	else:
		strf = strf + '+'
		strf = strf + str(i)
print(strf)


st = sorted(list(map(int, input().split('+'))))
print(st[0], end='')
for i in range(1, len(st)):
	print(f'+{st[i]}', end='')


n = input()
a = n.replace('+', '')
for i in a:
	b = '+'.join(sorted(a))
print(b)


x_input = input().split('+')
x_input.sort()
print('+'.join(x_input))


eq = list(map(int, input().split('+')))
eq.sort()
eq = [str(each) for each in eq]
st = '+'.join(eq)
print(st)


s1 = input()
s1 = s1.split('+')
s2 = [int(i) for i in s1]
s2.sort()
s2 = '+'.join([str(i) for i in s2])
print(s2)


inp = input().split('+')
inp.sort()
output = inp[0]
for i in inp[1:]:
	output += '+{}'.format(i)
print(output)


l = list(input().split('+'))
new = sorted(l)
print('+'.join(new))


s = input()
sort = []
for i in s:
	if i != '+':
		sort.append(i)
s = sort.sort()
m = '+'.join(sort)
print(m)


t = input('')
l = []
p = len(t)
for i in range(0, p):
	if t[i] != '+':
		l.append(t[i])
l.sort()
for i in range(0, p - 1, 2):
	l.insert(i + 1, '+')
print(''.join(l))


a = input()
b = a.split('+')
c = []
c = b + c
c.sort()
result = []
for e in c:
	result.append(e)
	result.append('+')
result.pop()
new = ''
for x in result:
	new += x
print(new)


num = list(map(int, input().split('+')))
num.sort()
(n, t) = (len(num), '')
for x in range(0, n):
	if x == n - 1:
		t = t + str(num[x])
	else:
		t = t + str(num[x]) + '+'
print(t)


x = input()

def compare(x, y):
	return x < y
y = []
for i in x:
	if i != '+':
		y.append(int(i))
y.sort()
print(y[0], end='')
for i in range(1, len(y), 1):
	print('+', end='')
	print(y[i], end='')
print()


import sys
n = sys.stdin.readline().rstrip()
lst = list(n.split('+'))
for i in range(len(lst)):
	lst[i] = int(lst[i])
lst.sort()
print(*lst, sep='+')


n = input().split('+')
sumar = n

def bubbleSort(alist):
	x = len(alist)
	for passnum in range(x - 1, 0, -1):
		for i in range(passnum):
			if alist[i] > alist[i + 1]:
				(alist[i], alist[i + 1]) = (alist[i + 1], alist[i])
bubbleSort(sumar)
for m in range(0, len(sumar)):
	sumar[m] = int(sumar[m])
print(*sumar, sep='+')


import array
text = input()
a = [0] * 3
for x in text:
	if x == '1':
		a[0] += 1
	elif x == '2':
		a[1] += 1
	elif x == '3':
		a[2] += 1
output = ''
for x in range(a[0]):
	output += '1+'
for x in range(a[1]):
	output += '2+'
for x in range(a[2]):
	output += '3+'
print(output[:-1])


str1 = input()
list1 = str1.split('+')
list1.sort()
n = len(list1)
a = 1
str2 = list1[0]
while a != n:
	str2 = str2 + '+' + list1[a]
	a = a + 1
print(str2)


str = input()
list = []
for i in range(len(str)):
	if i % 2 == 0:
		list.append(int(str[i]))
	else:
		pass
list = sorted(list)
for x in range(len(str)):
	if x % 2 == 0:
		print(list[int(x / 2)], end='')
	else:
		print('+', end='')
print()


ls = list(map(int, input().split('+')))
ls.sort()
res = ''
for i in range(len(ls)):
	res += str(ls[i])
	if i < len(ls) - 1:
		res += '+'
print(res)


mathString = input()
nums = mathString.split('+')
nums = sorted(nums)
orderedNums = '+'.join(nums)
print(orderedNums)


s = input()
arr = ['0']
arr.pop()
for i in s:
	if i != '+':
		arr.extend(i)
arr.sort()
arr2 = '+'.join(arr)
print(arr2)


a = input()
new_str = ''
mass = []
for i in range(len(a)):
	if a[i] != '+':
		mass.append(int(a[i]))
mass.sort()
j = 0
for i in range(len(mass) * 2 - 1):
	if i % 2 == 0:
		new_str += str(mass[j])
		j += 1
	else:
		new_str += '+'
print(new_str)


s = input()
k = s.split('+')
l = ''
p = []
if len(k) > 1:
	p = sorted(k)
	for i in p:
		l = l + i + '+'
	print(l[:len(s)])
elif len(k) == 1:
	o = k[0]
	print(int(o))


string = input()
numbers = [string[pos] for pos in range(0, len(string), 2)]
numbers.sort()
print('+'.join(numbers))


s = input()
a = s.split('+')
a.sort()
print(''.join([i + '+' for i in a])[:-1])


s = input()
t = s.split('+')
t = sorted(t)
for i in range(0, len(t) - 1):
	t[i] = t[i] + '+'
print(''.join(t))


s = input()
l = []
for i in s:
	if i.isdigit():
		l.append(i)
l.sort()
if len(l) > 1:
	print(*l, sep='+')
else:
	print(*l, sep='')


a = input()
s = ''
for j in range(3):
	for i in range(len(a)):
		if str(j + 1) == a[i]:
			s += str(j + 1) + '+'
for i in range(len(s) - 1):
	print(s[i], end='')


S = input().split('+')
S.sort()
for i in range(len(S)):
	if i == len(S) - 1:
		print('{}'.format(S[i]))
	else:
		print('{}+'.format(S[i]), end='')


a = []
a = input().split('+')
a.sort()
print(a[0], end='')
for i in a[1:]:
	print('+{}'.format(i), end='')


x = str(input())
num = []
for i in x:
	if i == '+':
		continue
	num.append(i)
num.sort()
nums = '+'.join(num)
print(nums)


s = input().split('+')
s.sort()
k = ''
for i in s:
	k += str(i) + str('+')
print(k[:-1])


x = input()
lst = []
loop = 0
for y in x:
	if loop % 2 == 0:
		lst.append(y)
	loop += 1
lst.sort()
for z in range(0, len(lst)):
	if z == 0:
		result = lst[0]
	else:
		result = result + '+' + lst[z]
print(result)


S = input()
B = S.replace('+', '')
C = sorted(B)
print('+'.join(C))


numbers = [int(x) for x in input().split('+')]
numbers = sorted(numbers)
flag = False
for x in numbers:
	if not flag:
		flag = True
	else:
		print('+', end='')
	print(x, end='')
print('')


equ = str(input())
n = len(equ)
output = str()
n1 = 0
n2 = 0
n3 = 0
for i in range(n):
	if equ[i] == '1':
		n1 += 1
	if equ[i] == '2':
		n2 += 1
	if equ[i] == '3':
		n3 += 1
	else:
		continue
output = str('1' * n1 + '2' * n2 + '3' * n3)
print('+'.join(output))


l = list(input())
l2 = list()
for x in l:
	if x == '+':
		l2 = l2
	else:
		l2.append(x)
l2.sort()
t = len(l2)
a = ''.join((x + '+' for x in l2))
print(a[0:2 * t - 1])


a = input()
b = list([])
c = str('')
for i in a:
	if i == '1' or i == '2' or i == '3':
		b.append(i)
b.sort()
for i in range(len(b) - 1):
	c = c + b[i] + '+'
c = c + b[len(b) - 1]
print(c)


s = list(input().split('+'))
k = sorted(s)
print('+'.join(k))


def sort(a, n):
	for i in range(n):
		for j in range(n - i - 1):
			if a[j] > a[j + 1]:
				t = a[j + 1]
				a[j + 1] = a[j]
				a[j] = t
	return a
x = [int(i) for i in input().split('+')]
n = len(x)
t = sort(x, n)
s = ''
for i in range(n):
	s = s + str(t[i])
	if i != n - 1:
		s = s + '+'
print(s)


string = input()
if '+' in string:
	numbers = []
	numbers_int = []
	numbers = string.split('+')
	for each in numbers:
		numbers_int.append(int(each))
	numbers_int.sort()
	print('+'.join(map(str, numbers_int)))
else:
	print(string)


n = list(map(str, input().split('+')))
n.sort()
s = '+'.join(n)
print(s)


a = input().split('+')

def SimpleSort(nums):
	n = 1
	while n < len(nums):
		for i in range(len(nums) - 1):
			if nums[i] > nums[i + 1]:
				(nums[i], nums[i + 1]) = (nums[i + 1], nums[i])
		n += 1
	return nums
a = SimpleSort(a)
print('+'.join(a))


string = input()
re_str = string.replace('+', '')
print('+'.join(sorted(re_str)))


string = input()
try:
	units = string.split('+')
	units = sorted([int(i) for i in units])
	print('+'.join([str(i) for i in units]))
except Exception as ex:
	str(ex)
	print(string)


s = input()
l = []
for i in s:
	if i == '+':
		pass
	else:
		l.append(i)
l.sort()
for i in range(0, len(l) - 1):
	l[i] += '+'
a = ''
for i in l:
	a += i
print(a)


x = list(input())
while '+' in x:
	x.remove('+')
x.sort()
for i in range(len(x) - 1):
	print(x[i] + '+', end='')
print(x[len(x) - 1])


m = input()
nums = []
for i in range(len(m)):
	if m[i] != '+':
		nums.append(m[i])
nums.sort()
for i in range(len(nums) - 1):
	print(nums[i] + '+', end='')
print(nums[len(nums) - 1])


string = input()
list1 = list(string)
list1.sort()
for i in range(len(list1)):
	if list1[i] == '+':
		continue
	elif i == len(list1) - 1:
		print(list1[i], end='')
	else:
		print(str(list1[i]) + '+', end='')


s = input()
li = []
a = [1, 2, 3]
for i in range(len(s)):
	try:
		if int(s[i]) in a:
			li.append(int(s[i]))
		else:
			pass
	except ValueError:
		pass
c = ''
li.sort()
for i in li:
	c += str(i) + '+'
c = list(c)
c.pop()
ans = ''
for i in c:
	ans += i
print(ans)


def Helpful_Maths(s):
	s = sorted(s)
	x = []
	for i in s:
		if i != '+':
			x.append(i)
			x.append('+')
	del x[-1]
	x = ''.join(x)
	return x
s = input()
print(Helpful_Maths(s))


s = input()
l = list(map(int, s.split('+')))
la = sorted(l)
print('+'.join(map(str, la)))


n = input()
x = n.split('+')
length = len(x)
x.sort()
for i in range(0, length - 1):
	print(x[i], end='+')
print(x[-1])


x = input()
i = 0
c = []
while i < len(x):
	c.append(x[i])
	i = i + 2
c.sort()
k = 0
i = 0
y = []
while k < 2 * len(c) - 1:
	if k % 2 == 0:
		y.append(c[i])
		i = i + 1
	else:
		y.append('+')
	k = k + 1
for i in range(len(y)):
	print(y[i], end='')


s = input()
res = [x for x in s.split('+')]
res.sort()
print(*res, sep='+')


try:
	str1 = input()
	l = len(str1)
	str2 = ''
	str3 = ''
	for _ in range(0, l, 2):
		str2 += str1[_]
	str2 = sorted(str2)
	l2 = len(str2)
	for i in range(l2):
		str3 += str2[i] + '+'
	print(str3[:-1])
except:
	pass


n = input()
t = n.replace('+', '')
t = sorted(t)
print('+'.join(t))


s = input()
l = []
for i in s:
	if 48 <= ord(i) <= 57:
		l.append(i)
l.sort()
d = '+'.join(l)
print(d)


a = list(input().replace('+', ''))
print('+'.join(sorted(a)))


s = input()
y = '1+' * s.count('1')
y += '2+' * s.count('2')
y += '3+' * s.count('3')
print(y[:-1])


l = list(map(int, input().split('+')))
l.sort()
for k in range(len(l) - 1):
	print(l[k], end='+')
print(l[len(l) - 1])


words = [x for x in input().split('+')]
words = sorted(words)
print('+'.join(words))


n = input()
l = list(n)
a = []
for i in range(len(l)):
	if l[i] != '+':
		a.append(int(l[i]))
a.sort()
for i in range(len(a)):
	if len(a) > 1 and i != len(a) - 1:
		print('{}+'.format(a[i]), end='')
	elif len(a) > 1:
		print(a[i])
	else:
		print(a[0])


cadena = input()
sol = ''
x = cadena.count('1')
y = cadena.count('2')
z = cadena.count('3')
for i in range(x):
	sol = sol + '1+'
for i in range(y):
	sol = sol + '2+'
for i in range(z):
	sol = sol + '3+'
sol = sol[:-1]
print(sol)


s = list(input())
lst1 = []
for i in range(len(s)):
	if s[i] != '+':
		lst1.append(int(s[i]))
lst1 = sorted(lst1)
lst1 = list(map(str, lst1))
print('+'.join(lst1))


a = str(input())
x = []
for i in a:
	if i != '+':
		i = int(i)
		x.append(i)
x.sort()
print(*x, sep='+')


S = input()
S1 = sorted(S)
k = len(S1) // 2
S2 = S1[k:]
print('+'.join(S2))


s = input()
l = []
for i in range(0, len(s), 2):
	l.append(s[i])
l.sort()
ans = ''
for val in l:
	ans += str(val) + '+'
print(ans[:len(ans) - 1])


n = list(input())
while '+' in n:
	n.remove('+')
n.sort()
ls = ''
for i in n:
	ls += i
	ls += '+'
for i in range(len(ls) - 1):
	print(ls[i], end='')


equation = input()
numbers = equation.split('+')
numbers.sort()
print('+'.join(numbers))


l = input()
n1 = n2 = n3 = 0
for i in range(0, len(l), 2):
	if l[i] == '1':
		n1 += 1
	elif l[i] == '2':
		n2 += 1
	else:
		n3 += 1
ll = '1+' * n1 + '2+' * n2 + '3+' * n3
print(ll[:-1])


s = input()
k = len(s)
if k == 1:
	print(s)
else:
	c = []
	for i in s:
		c.append(i)
	c.sort()
	while '+' in c:
		c.remove('+')
	d = []
	for j in c:
		d.append(j)
		d.append('+')
	for l in range(0, len(d) - 1):
		print(d[l], end='')


st = input()
arr = st.split('+')
for i in range(len(arr)):
	arr[i] = int(arr[i])
for i in range(len(arr)):
	for j in range(i):
		if arr[j] > arr[i]:
			k = arr[i]
			arr[i] = arr[j]
			arr[j] = k
st = ''
for i in range(len(arr)):
	if i != len(arr) - 1:
		st += str(arr[i]) + '+'
	else:
		st += str(arr[i])
print(st)


list1 = list(map(str, input().split('+')))
list1.sort()
print('+'.join(list1))


numbers = input().split('+')
numbers.sort()
output = ''
for num in numbers[:-1]:
	output += num + '+'
print(output + numbers[-1])


def sums(s):
	list = []
	numbers = len(s)
	for i in range(0, numbers, 2):
		list.append(s[i])
	list.sort()
	return list
x = input('')
if len(x) == 1:
	print(x)
else:
	mylist = sums(x)
	line = ''
	for i in range(len(mylist) - 1):
		line += mylist[i] + '+'
	line += mylist[-1]
	print(line)


r = input()
a1 = 0
a2 = 0
a3 = 0
for i in range(0, len(r), 2):
	if r[i] == '1':
		a1 = a1 + 1
	if r[i] == '2':
		a2 = a2 + 1
	if r[i] == '3':
		a3 = a3 + 1
if a1 > 0:
	print(1, end='')
	for i in range(1, a1):
		print('+1', end='')
	if a2 + a3 > 0:
		print('+', end='')
if a2 > 0:
	print(2, end='')
	for i in range(1, a2):
		print('+2', end='')
	if a3 > 0:
		print('+', end='')
if a3 > 0:
	print(3, end='')
	for i in range(1, a3):
		print('+3', end='')


print('+'.join(sorted([str(c) for c in input().split('+')])))


strn = input()
lis = []
for ch in strn:
	if ch == '+':
		continue
	else:
		lis.append(int(ch))
lis.sort()
for i in range(0, len(lis)):
	if i == len(lis) - 1:
		print(lis[i])
	else:
		print(str(lis[i]) + '+', end='')


formula = input()
formula_list = formula.split('+')
formula_list.sort()
print('+'.join(formula_list))


multiple_num = input()
arr = []
result = ''
for item in multiple_num:
	if item != '+':
		arr.append(item)
arr.sort()
for item in arr:
	result += item + '+'
print(result[0:len(result) - 1])


problem = sorted(input().replace('+', ''))
problem = '+'.join(problem)
print(problem)


a = input()
c = []
for i in a:
	if i.isdigit():
		c.append(i)
c.sort()
if len(c) == 1:
	print(c[0])
else:
	a = len(c)
	print(c[0], end='')
	for i in range(1, a):
		print('+' + c[i], end='')


str1 = input()
list1 = []
for a in str1:
	if a != '+':
		list1.append(a)
list1.sort()
st = '+'
output = st.join(list1)
print(output)


a = input()
z = []
for i in a:
	if i == '+':
		continue
	else:
		z.append(int(i))
z = sorted(z)
for i in range(len(z)):
	print(z[i], end='')
	if i == len(z) - 1:
		break
	print('+', end='')
print('\n')


a = input()
b = a.split('+')
b.sort()
c = len(b)
x = 0
i = 0
j = ''
while i < c:
	if x == c - 1:
		j += b[x]
	else:
		j += b[x] + '+'
	x += 1
	i += 1
print(j)


import sys
s1 = sys.stdin.readline().rstrip()
s1 = s1.split('+')
s1.sort()
ss = '+'.join(s1)
print(ss)


s = input()
temp = ''
for i in s:
	if i == '+':
		temp += ' '
	else:
		temp += i
l = temp.split(' ')
l = [int(i) for i in l]
res = ''
l = sorted(l)
for i in l:
	res += str(i)
	res += '+'
print(res[:-1])


s1 = input()
r = s1.split('+')
r.sort()
t = '+'.join(r)
print(t)


s = input().split('+')
l = len(s)
for i in range(0, l):
	s[i] = int(s[i])
s.sort()
for i in range(0, l):
	print(s[i], end='')
	if i != l - 1:
		print('+', end='')


txt = input()
txt = txt.split('+')
txt.sort()
a = ''
for i in range(len(txt)):
	if i > 0:
		a = a + '+' + txt[i]
	else:
		a = a + txt[i]
print(a)


s = input()
n = []
for i in s:
	if i != '+':
		n.append(int(i))
n.sort()
m = ''
for i in n:
	m = m + str(i) + '+'
print(m.strip('+'))


m = list(map(int, input().split('+')))
l = len(m)
num = [0, 0, 0]
for i in range(l):
	num[m[i] - 1] += 1
print('+'.join(['1'] * num[0] + ['2'] * num[1] + ['3'] * num[2]))


def ass(a):
	if '+' not in a:
		return a
	return '+'.join(list(map(str, sorted(a.split('+')))))

def ass2(a):
	if '+' not in a:
		return a
	r = {'1': 0, '2': 0, '3': 0}
	for i in a.split('+'):
		r[i] += 1
	res = '1+' * r['1'] + '2+' * r['2'] + '3+' * r['3']
	return res[:-1]
print(ass2(input()))


st = input()
ar = st.split('+')
ar.sort()
if len(st) > 1:
	r = ''
	for i in ar:
		r += i + '+'
	print(r[:-1])
else:
	print(st)


l = list(input())
b = []
for i in l:
	if '+' != i:
		b.append(i)
b.sort()
print('+'.join(b))


sumStr = input()
sumls = sumStr.split('+')
sumls.sort()
print('+'.join(sumls))


a = sorted([i for i in input() if i.isdigit()])
print('+'.join(a))


s = input()
q = []
if len(s) % 2 == 0 or len(s) == 1:
	print(s)
else:
	for i in s:
		if i == '1' or i == '2' or i == '3':
			q.append(int(i))
	q.sort()
e = [str(i) for i in q]
w = '+'
w = w.join(e)
print(w)


import re
string = input()
temp = re.findall('\\d', string)
temp.sort()
print('+'.join(temp))


str1 = input()
list3 = []
s = ''
for i in range(0, len(str1), 2):
	list3.append(str1[i])
list3.sort()
for i in range(1, len(list3) * 2 - 1, 2):
	list3.insert(i, '+')
k = s.join(list3)
print(k)


s = input()
arrange = []
newArrange = []
one = 0
two = 0
three = 0
finalString = ''
for i in s:
	if i != '+':
		arrange.append(int(i))
for i in arrange:
	if i == 1:
		one += 1
	if i == 2:
		two += 1
	if i == 3:
		three += 1
for i in range(one):
	newArrange.append(1)
for i in range(two):
	newArrange.append(2)
for i in range(three):
	newArrange.append(3)
f = 0
for i in newArrange:
	finalString += str(i)
	if f < len(newArrange) - 1:
		finalString += '+'
	f += 1
print(finalString)


x = input()
x = list(x)
for i in x:
	if i == '+':
		x.remove(i)
x = sorted(x)
y = '+'.join(x)
print(y)


problem = input()
arr = [0, 0, 0]
for token in problem[::2]:
	arr[int(token) - 1] += 1
solution = ''
for i in range(0, 3):
	for count in range(0, arr[i]):
		solution += str(i + 1) + '+'
solution = solution[0:len(solution) - 1]
print(solution)


prob = input().split('+')
prob.sort()
print('+'.join(prob))


problem = input()
numbers = problem.split('+')
workable = sorted(numbers)
do = str()
for n in workable:
	do = do + n + '+'
out = do.strip('+')
print(out)


s = input()
one = two = three = 0
new_string = ''
zifra = 0
for i in range(len(s)):
	if s[i] == '1':
		one += 1
		zifra += 1
	elif s[i] == '2':
		two += 1
		zifra += 1
	elif s[i] == '3':
		three += 1
		zifra += 1
for j in range(one):
	new_string += '1'
	if zifra != 1:
		new_string += '+'
	zifra -= 1
for j in range(two):
	new_string += '2'
	if zifra != 1:
		new_string += '+'
	zifra -= 1
for j in range(three):
	new_string += '3'
	if zifra != 1:
		new_string += '+'
	zifra -= 1
print(new_string)


n = input()
n = sorted(n)
a = []
b = []
c = []
for i in range(len(n) // 2):
	a.append(n[i])
for i in range(len(n) // 2, len(n)):
	b.append(n[i])
for i in range(len(a)):
	c.append(b[i])
	c.append(a[i])
c.append(b[len(b) - 1])
for z in range(1):
	for j in range(len(c)):
		print(c[j], end='')


def insertion_sort(a, N):
	for i in range(1, N):
		x = a[i]
		j = i
		while j > 0:
			if a[j - 1] > x:
				a[j] = a[j - 1]
				j -= 1
			else:
				break
		a[j] = x
a = list(map(int, input().split('+')))
insertion_sort(a, len(a))
for i in range(len(a) - 1):
	print(a[i], end='+')
print(a[-1])


string = input()
nos = list(map(int, string.split('+')))
nos.sort()
print('+'.join([str(no) for no in nos]))


s = list(map(str, input().split('+')))
s.sort()
ans = ''
for i in range(len(s) - 1):
	ans = ans + s[i] + '+'
print(ans + s[-1])


expression = input()
elements = list(map(int, expression.split('+')))
elements.sort()
new_expression = ''
for idx in range(len(elements) - 1):
	new_expression += str(elements[idx])
	new_expression += '+'
new_expression += str(elements[-1])
print(new_expression)


suma = input().split('+')
suma.sort()
print('+'.join(suma))


s = input().split('+')
s.sort()
f = ''
for i in s[:-1]:
	f = f + str(i) + '+'
print(f + str(s[-1]))


alge = list(input(''))
alge = [x for x in alge if x != '+']
alge = sorted(alge)
print('+'.join(alge))


arr = input()
arr = arr.split('+')
arr.sort()
for x in range(0, len(arr)):
	if x == len(arr) - 1:
		print(arr[x])
	else:
		print(arr[x], end='+')


s = input().rstrip().lstrip()
if len(s) <= 1:
	print(s)
else:
	op = s.split('+')
	op = sorted(op)
	rs = str(op[0])
	for i in range(1, len(op)):
		rs += '+' + op[i]
	print(rs)


s = input()
a = []
for i in s:
	if i == '+':
		pass
	else:
		a.append(i)
a.sort()
ans = ''
k = 0
for i in range(len(s)):
	if i % 2 != 0:
		ans += '+'
	else:
		ans += str(a[k])
		k += 1
print(ans)


ex = [int(i) for i in input().split('+')]
ex.sort()
print(*ex, sep='+')


n = input()
li = []
for i in range(len(n)):
	if n[i] == '1':
		li.append(n[i])
	elif n[i] == '2':
		li.append(n[i])
	elif n[i] == '3':
		li.append(n[i])
li.sort()
s = len(li)
for i in range(0, len(li)):
	print(li[i], end='')
	if i == len(li) - 1:
		break
	else:
		print('+', end='')


arr = [int(num) for num in input().split('+')]
arr = sorted(arr)
string_returned = ''
for i in arr:
	string_returned += f'{i}+'
print(string_returned[:-1])


data = sorted([int(i) for i in input().split('+')])
for i in range(len(data)):
	data[i] = str(data[i])
print('+'.join(data))


s = input()
i = 0
l = []
while i < len(s):
	t = int(s[i])
	l.append(t)
	i = i + 2
l.sort()
j = 1
out = str(l[0])
while j < len(l):
	out = out + '+' + str(l[j])
	j = j + 1
print(out)


s = input()
a = s.split('+')
t = []
for i in a:
	t.append(int(i))
t.sort()
q = ''
for i in t:
	q += str(i) + '+'
print(q[:len(q) - 1])


s = list(map(str, input().split('+')))
while s.count('') != 0:
	s.remove('')
s.sort()
print('+'.join(s))


s = input()
s = s.replace('+', '')
l = list(map(int, s))
l.sort()
p = ''
for i in l:
	p += str(i)
	p += '+'
print(p[:-1])


string = input()
listt = ['1', '2', '3']
arr = []
for char in string:
	if char in listt:
		arr.append(char)
arr.sort()
out = ''
for char in arr:
	out = out + char + '+'
print(out[:-1])


n = input()
k = list(n)
p = []
h = ''
for i in range(len(k)):
	if k[i] != '+':
		p.append(k[i])
p.sort()
for i in range(1, len(k) - 1, 2):
	p.insert(i, '+')
h = h.join(p)
print(h)


de_sum = input()
array_input = de_sum.split('+')
array_input.sort()

def addplus(array):
	i = 0
	final_array = []
	while i < len(array) - 1:
		final_array.append(array[i])
		final_array.append('+')
		i += 1
	final_array.append(array[i])
	return final_array
lol = addplus(array_input)
for each in lol:
	print(each, end='')


t = input()
y = t.split('+')
y = sorted(y)
seperator = '+'
print(seperator.join(y))


l = str(input())
a = 0
b = 0
c = 0
s = l[0]
if len(l) == 1:
	print(l)
else:
	for i in l:
		if i == '1':
			a = a + 1
		elif i == '2':
			b = b + 1
		elif i == '3':
			c = c + 1
	if '1' in l:
		print('1' + '+1' * (a - 1) + '+2' * b + '+3' * c)
	elif '2' in l:
		print('2' + '+2' * (b - 1) + '+3' * c)
	else:
		print('3' + '+3' * (c - 1))


a = input()
b = len(a)
c = ''
for i in range(0, b, 2):
	d = a[i]
	c += d
f = sorted(c)
g = len(f)
for p in range(g):
	if p == 0:
		print(f[p], end='')
	else:
		print('+' + f[p], end='')


import math
data = input()
num = [int(x) for x in data.split('+')]

def mysort(num):
	for i in range(len(num) - 1):
		for j in range(len(num) - i - 1):
			if num[j] > num[j + 1]:
				(num[j], num[j + 1]) = (num[j + 1], num[j])
mysort(num)
for i in range(len(num)):
	print(num[i], end='')
	if i != len(num) - 1:
		print('+', end='')


s = input().split('+')
num = []
for i in range(len(s)):
	num.append(int(s[i]))
num.sort()
print(num[0], end='')
for i in range(len(num) - 1):
	print('+%d' % num[i + 1], end='')
print()


unordered = input()
ordered = unordered.split('+')
ordered.sort()
num = ordered[0]
for i in range(1, len(ordered)):
	num += f'+{ordered[i]}'
print(num)


s = input()
x = []
count = 0
y = s.split('+')
y.sort()
for i in range(len(y) - 1):
	print(y[i] + '+', end='')
print(y[len(y) - 1])


exp = input()
lis = []
pluscount = 0
for char in exp:
	if char != '+':
		lis.append(char)
	else:
		pluscount += 1
lis.sort()
for char in lis:
	print(char, end='')
	if pluscount != 0:
		print('+', end='')
		pluscount -= 1


word = input()
length = len(word)
sequence = ''
for i in range(0, length, 2):
	sequence += word[i]
new = sorted(sequence)
print('+'.join(new))


s = input()
p = s.split('+')
q = list(map(int, p))
q.sort()
print(*q, sep='+')


s = input()
v1 = 0
v2 = 0
v3 = 0
ans = ''
for i in range(len(s)):
	if s[i] == '1':
		v1 += 1
	elif s[i] == '2':
		v2 += 1
	elif s[i] == '3':
		v3 += 1
q = False
for i in range(v1):
	if q:
		ans += '+'
	q = True
	ans += '1'
for i in range(v2):
	if q:
		ans += '+'
	q = True
	ans += '2'
for i in range(v3):
	if q:
		ans += '+'
	q = True
	ans += '3'
print(ans)


x = input().split('+')
x.sort()
string = ''
for i in range(len(x)):
	x[i] += '+'
x.reverse()
for i in x:
	x[0] = list(x[0])[0]
x.reverse()
for i in x:
	string = string + i
print(string)


n = input()
l = list(n.split('+'))
l.sort()
print('+'.join(l))


s = input()
a = [i for i in s if i.isnumeric()]
res = ''
a = sorted(a)
res = '+'.join(a)
print(res)


s = input()
l = len(s)
li = [i for i in s[:l:2]]
li.sort()
plus = '+'
plus = plus.join(li)
print(plus)


s = input()
a = []
for i in range(0, len(s), 2):
	a.append(s[i])
a.sort()
for i in range(1, len(s), 2):
	a.insert(i, '+')
print(''.join(a))


st = input()
li = []
n = len(st)
i = 0
while i < n:
	li.append(st[i])
	i = i + 2
li.sort()
res = ''
res = res + li[0]
i = 1
while i < n - n // 2:
	res = res + '+' + li[i]
	i = i + 1
print(res)


n = list(input())
x = n.count('+')
for i in range(x):
	n.remove('+')
n.sort()
y = '+'.join(n)
print(y)


op = str(input())
sort_nums = sorted(list(op.translate(str.maketrans('', '', '+'))))
new_op = ['+' + sort_nums[i] for i in range(len(sort_nums))]
print(''.join(new_op)[1:])


l = list(input())
r = []
a = ''
for i in range(len(l)):
	if i % 2 == 0:
		r.append(l[i])
r.sort()
for i in range(len(l)):
	if i % 2 != 0:
		r.insert(i, '+')
print(a.join(r))


s = input().split('+')
s.sort()
output = []
for i in s:
	output.append(i)
	output.append('+')
print(''.join(output[:-1]))


s = input()
count = [0, 0, 0]
result = ''
if s != '':
	s = s.split('+')
	for item in s:
		if int(item) == 1:
			count[0] += 1
		elif int(item) == 2:
			count[1] += 1
		elif int(item) == 3:
			count[2] += 1
for i in range(count[0]):
	result += '1+'
for i in range(count[1]):
	result += '2+'
for i in range(count[2]):
	result += '3+'
if result != '':
	result = result[0:len(result) - 1]
print(result)


x = input()
temp = []
for i in x:
	if i != '+':
		temp.append(i)
temp.sort()
print(temp[0], end='')
for i in range(1, len(temp)):
	print(f'+{temp[i]}', end='')


s = input()
a = s.count('1')
b = s.count('2')
c = s.count('3')
x = '1+' * a + '2+' * b + '3+' * c
print(x[:-1])


s = input()
new_sum = ''
nombres = s.split('+')
nombres = list(map(int, nombres))
nombres.sort()
new_sum = str(nombres[0])
nombres = nombres[1:]
for nombre in nombres:
	new_sum += '+' + str(nombre)
print(new_sum)


line = input()
str1 = str2 = str3 = ''
for i in range(0, len(line), 2):
	if int(line[i]) == 1:
		str1 += '1+'
	elif int(line[i]) == 2:
		str2 += '2+'
	elif int(line[i]) == 3:
		str3 += '3+'
	else:
		pass
string0 = str1 + str2 + str3
string = ''
for i in range(0, len(string0) - 1):
	string += string0[i]
print(string)


a = input()
b = a.split('+')
b.sort()
for i in range(0, len(b) * 2, 2):
	if len(b) > 1:
		b.insert(i + 1, '+')
if len(b) != 1:
	del b[-1]
for i in range(len(b)):
	print(b[i], end='')


def bubbleSort(alist):
	for passnum in range(len(alist) - 1, 0, -1):
		for i in range(passnum):
			if alist[i] > alist[i + 1]:
				temp = alist[i]
				alist[i] = alist[i + 1]
				alist[i + 1] = temp
inp_list = list(input())
inp_list.append('.')
l = len(inp_list)
i = 0
out_list = []
while inp_list[i] != '.':
	if inp_list[i] == '+':
		inp_list.remove('+')
	i += 1
inp_list.remove('.')
bubbleSort(inp_list)
inp_list.insert(len(inp_list) - 1, '.')
i = 0
while inp_list[i] != '.':
	out_list.append(inp_list[i])
	out_list.append('+')
	i += 1
out_list.append(inp_list[len(inp_list) - 1])
print(''.join(out_list))


def toInt(arr):
	r = []
	for i in arr:
		r.append(int(i))
	return r
a = toInt(input().split('+'))
a.sort()
for i in a[:-1]:
	print(i, end='+')
print(a[-1])


import sys
lines = sys.stdin.readlines()
answer = ''
arranged = []
intermediate = str(lines[0]).strip().split('+')
arranged += [intermediate[0]]
k = 1
for k in range(1, len(intermediate)):
	i = 0
	while i < len(arranged) and intermediate[k] > arranged[i]:
		i += 1
	arranged[i:i] = [intermediate[k]]
for item in arranged:
	answer += item + '+'
print(answer[:-1])


s = input()
array = s.split('+')
array.sort()
s = '+'.join(array)
print(s)


s = input()
a = s.count('1')
b = s.count('2')
c = s.count('3')
if b == 0 and c == 0:
	for i in range(0, a - 1):
		print('1+', end='')
	print('1', end='')
elif a == 0 and c == 0:
	for i in range(0, b - 1):
		print('2+', end='')
	print('2', end='')
elif a == 0 and b == 0:
	for i in range(0, c - 1):
		print('3+', end='')
	print('3', end='')
else:
	for i in range(0, a):
		print('1+', end='')
	for i in range(0, b - 1):
		print('2+', end='')
	if b != 0:
		print('2', end='')
	if c != 0 and b != 0:
		print('+', end='')
	for i in range(0, c - 1):
		print('3+', end='')
	if c != 0:
		print('3', end='')


a = input()
res = ''
for i in range(0, len(a) + 1, 2):
	res += a[i]
print(*sorted(res), sep='+')


lt = input().split('+')
lt.sort()
ans = ''
for c in lt:
	ans += c
	ans += '+'
print(ans[0:len(ans) - 1])


arr = [a for a in input().split('+')]
sorted_arr = sorted(arr)
print('+'.join(sorted_arr))


n = list(input())
n.sort()
new = []
for i in range(len(n)):
	if n[i] != '+':
		new.append(n[i])
for i in range(len(new)):
	if i != len(new) - 1:
		print(new[i] + '+', end='')
	else:
		print(new[i])


n = list(input())
for i in n:
	if i == '+':
		n.remove(i)
for i in n:
	n[n.index(i)] = int(i)
n.sort()
for i in n:
	n[n.index(i)] = str(i)
print('+'.join(n))


s = input()
x = s.split('+')
x.sort()
s = ''
for k in x:
	s = s + k + '+'
s = s[:-1]
print(s)


val = []
s = ''
for n in map(int, input().split('+')):
	val.append(n)
val.sort()
for n in range(len(val)):
	s += str(val[n])
	if n < len(val) - 1:
		s += '+'
print(s)


s = str(input())
s1 = s.split('+')
sum = 0
s1.sort()
print(s1[0], end='')
for i in range(1, len(s1)):
	print('{}{}'.format('+', s1[i]), end='')


l = list(map(int, input().strip().split('+')))
l.sort()
for i in range(len(l) - 1):
	print(str(l[i]) + '+', end='')
print(l[-1])


s = list(map(int, input().split('+')))
d = len(s) - 1
for i in range(0, d):
	for j in range(0, d - i):
		if s[j] > s[j + 1]:
			(s[j], s[j + 1]) = (s[j + 1], s[j])
c = ''
for i in range(d):
	c = c + str(s[i]) + '+'
print(c + str(s[d]))


s = str(input())
l = s.split('+')
l = sorted(l)
if len(l) > 1:
	r = ''
	for i in range(0, len(l) - 1):
		r += str(l[i]) + '+'
	r += str(l[len(l) - 1])
	print(r)
else:
	print(s)


Numbers = input().split('+')
Numbers.sort()
print('+'.join(Numbers))


l = input().split('+')
length = len(l)
for i in range(length):
	l[i] = int(l[i])
s = sorted(l)
out = ''
for i in range(length - 1):
	out = out + str(s[i]) + '+'
out = out + str(s[length - 1])
print(out)


s = input()
new = []
for i in s:
	if i != '+':
		new.append(i)
new.sort()
print('+'.join(new))


s = input()
nn = set('0123456789')
a = []
ss = ''
for i in range(len(s)):
	if s[i] in nn:
		a.append(s[i])
a = sorted(a)
ss += a[0]
for i in range(1, len(a)):
	ss += '+' + a[i]
print(ss)


x = input()
l = [int(r) for r in x if r != '+']
l = sorted(l)
for i in range(len(l)):
	if i == len(l) - 1:
		print(l[i])
	else:
		print(l[i], end='+')


sSum = input()
nList = []
sNumbers = sSum[::2]
for x in sNumbers:
	nList.append(int(x))
nList.sort()
nLen = len(nList)
sSum = ''
i = 0
for n in nList:
	if i == 0:
		sSum = sSum + str(n)
	else:
		sSum = sSum + '+' + str(n)
	i = i + 1
print(sSum)


s = str(input())
l = len(s)
sn = []
C1 = s.count('1')
C2 = s.count('2')
C3 = s.count('3')
for i in range(C1):
	sn.append('1')
	sn.append('+')
for i in range(C2):
	sn.append('2')
	sn.append('+')
for i in range(C3):
	sn.append('3')
	sn.append('+')
for i in range(l):
	print(sn[i], end='')


s = str(input())
s1 = list(s)
s2 = s1[::2]
s2.sort()
s3 = str(s2)
s4 = s3.replace(',', '')
s4 = s4.replace("'", '')
s4 = s4.replace(' ', '')
import re
patern = re.compile('.{1,1}')
s5 = '+'.join(patern.findall(s4))
s6 = s5[2:-2]
print(s6)


s = input()
s1 = list(s.split('+'))
s1.sort()
ans = ''
for i in s1:
	ans += i
	ans += '+'
print(ans[:-1])


s = input()
a = []
for i in s:
	if i != '+':
		a.append(i)
a = sorted(a)
for i in range(len(a)):
	if i == len(a) - 1:
		print(a[i])
		break
	print(a[i] + '+', end='')


s = input()
s = s.replace('+', '')
s = sorted(s)
l = []
for i in s:
	l.append(i)
	l.append('+')
l.pop()
print(''.join(l))


source = sorted(input().replace('+', ''))
if len(source) < 2:
	print(source[0])
else:
	print('+'.join(source))


hat = input()
nums = []
for i in range(len(hat)):
	if hat[i] != '+':
		nums.append(hat[i])
nums.sort()
print('+'.join(nums))


import math
expr = input().split('+')
expr = list(map(int, expr))
expr = list(sorted(expr))
print('+'.join(map(str, expr)))


arr = [int(x) for x in input().split('+')]
arr.sort()
print(*arr, sep='+')


str = input()
list = list(str)
i = 1
while i <= len(list) - 2:
	if list[i] == '+':
		del list[i]
		i = i - 1
	i = i + 2
list.sort()
print(list[0], end='')
j = 1
while j <= len(list) - 1:
	print('+', end='')
	print(list[j], end='')
	j = j + 1


s = input()
s = s.replace('+', '')
l = list(s)
l.sort()
a = ''
for i in range(len(l)):
	a = a + ''.join(l[i])
	a = a + '+'
a = a[:-1]
print(a)


suma = input()
tmp = list(suma.split('+'))
tmp.sort()
for i in range(len(tmp)):
	if i != len(tmp) - 1:
		print(tmp[i], '+', sep='', end='')
	else:
		print(tmp[i], sep='', end='')
print()


line = input().split('+')
line = list(map(int, line))
line.sort()
print(*line, sep='+')


newstr = ''
str = input().split('+')
str.sort()
for i in str:
	newstr += i + '+'
print(newstr[:-1])


expression = input().split('+')
expression.sort()
print(*expression, sep='+')


equation = [int(n) for n in input().strip().split('+')]
equation.sort()
print('+'.join((str(x) for x in equation)))


sentence = sorted([x for x in input().split('+')])
for i in range(len(sentence)):
	if i != len(sentence) - 1:
		print(sentence[i] + '+', end='')
	else:
		print(sentence[i])


s = input()
s = s.replace('+', '')
s = sorted(s)
ans = ''
for i in s:
	ans = ans + i + '+'
ans = ans[:-1]
print(ans)


def asc(lst):
	for items in range(len(lst) - 1):
		for num in range(len(lst) - 1):
			if lst[num] > lst[num + 1]:
				temp = lst[num + 1]
				lst[num + 1] = lst[num]
				lst[num] = temp
sumstr = input()
nums = list()
for i in range(len(sumstr)):
	if i % 2 != 0:
		continue
	else:
		nums.append(int(sumstr[i]))
asc(nums)
finstr = ''
for i in range(len(nums)):
	if i != len(nums) - 1:
		finstr = finstr + str(nums[i]) + '+'
	else:
		finstr = finstr + str(nums[i])
print(finstr)


x = [int(i) for i in input().split('+')]
a = len(x)
arr = []
i = 0
for i in range(a):
	arr.append(x[i])
arr.sort()
print(*arr, sep='+')


k = input()
x = len(k)
(one, two, three) = (0, 0, 0)
for i in range(0, x, 2):
	if k[i] == '1':
		one += 1
	elif k[i] == '2':
		two += 1
	else:
		three += 1
newlist = []
for i in range(0, x):
	if i == 1:
		newlist.append('+')
	elif i % 2 != 0:
		newlist.append('+')
	elif one != 0:
		newlist.append('1')
		one -= 1
	elif two != 0:
		newlist.append('2')
		two -= 1
	else:
		newlist.append('3')
		three -= 1
print(*newlist, sep='')


print('+'.join((str(el) for el in sorted(input().split('+')))))


a = input()
b = []
for i in range(1, len(a) + 1, 2):
	b.append(a[i - 1])
b.sort()
q = len(b)
for k in range(1, 2 * q - 2, 2):
	b.insert(k, '+')
for t in b:
	print(t, end='')


strin = input()
t = list(strin)
s1 = ''
for i in range(0, len(t), 2):
	for j in range(0, i, 2):
		if t[i] < t[j]:
			(t[i], t[j]) = (t[j], t[i])
print(s1.join(t))


s = input()
nums = s.split('+')
nums.sort()
print('+'.join(nums))


string = input()
one = string.count('1')
two = string.count('2')
three = string.count('3')
arr = []
for i in range(one):
	arr.append('1')
for i in range(two):
	arr.append('2')
for i in range(three):
	arr.append('3')
print('+'.join(arr))


z = str(input())
arr = []
for i in range(len(z)):
	if z[i] != '+':
		arr.append(int(z[i]))
arr.sort()
for i in range(len(arr)):
	if i == len(arr) - 1:
		print(arr[i])
	else:
		print(arr[i], end='+')


linha = sorted(input().split('+'))
for (i, numero) in enumerate(linha):
	print(f"{('+' if i > 0 else '')}{numero}", end='')


entry = input()
count = 0
one = 0
two = 0
three = 0
while count < len(entry):
	letter = entry[count]
	count = count + 1
	if letter == '1':
		one = one + 1
	if letter == '2':
		two = two + 1
	if letter == '3':
		three = three + 1
count = 0
result = ''
while count < one:
	count = count + 1
	if result == '':
		result = result + '1'
	else:
		result = result + '+1'
count = 0
while count < two:
	count = count + 1
	if result == '':
		result = result + '2'
	else:
		result = result + '+2'
count = 0
while count < three:
	count = count + 1
	if result == '':
		result = result + '3'
	else:
		result = result + '+3'
print(result)


n = input()
n = n.replace('+', '')
n = list(map(int, n))
n.sort()
print(*n, sep='+')


n = input()
c1 = c2 = c3 = 0
for i in range(0, len(n), 2):
	if n[i] == '1':
		c1 += 1
	elif n[i] == '2':
		c2 += 1
	else:
		c3 += 1
a = '1+' * c1 + '2+' * c2 + '3+' * c3
print(a[:-1])


x = input()
adad = []
adad2 = []
for i in range(0, len(x), 2):
	adad.append(int(x[i]))
for i in range(len(adad)):
	if i != 0:
		print('+', end='')
	print(min(adad), end='')
	adad.remove(min(adad))


h = list(input())
s = []
for i in range(0, len(h), 2):
	s.append(h[i])
s.sort()
print(s[0], end='')
for i in range(1, len(s)):
	print('+', end='')
	print(s[i], end='')


strink = input()
strink = list(strink)
strinkzwei = []
for i in strink:
	if i != '+':
		strinkzwei.append(i)
strinkzwei.sort()
secondsex = []
for i in strinkzwei:
	secondsex.append(i)
	secondsex.append('+')
secondsex = secondsex[0:-1]
for i in secondsex:
	print(i, end='')


data = list(map(int, input().split('+')))
data.sort()
print('+'.join(list(map(str, data))))


a = str(input())
l = len(a)
aa = []
c1 = a.count('1')
c2 = a.count('2')
c3 = a.count('3')
for i in range(c1):
	aa.append('1')
	aa.append('+')
for i in range(c2):
	aa.append('2')
	aa.append('+')
for i in range(c3):
	aa.append('3')
	aa.append('+')
for i in range(l):
	print(aa[i], end='')


a = input()
a = sorted([int(i) for i in a.split('+')])
print('+'.join([str(i) for i in a]))


nums = input().split('+')
nums.sort()
ans = ''
for x in range(len(nums) - 1):
	ans += nums[x] + '+'
ans += nums[len(nums) - 1]
print(ans)


s = input()
for i in s:
	if i == '+':
		s = s.replace(i, '')
s = list(s)
s.sort()
s = '+'.join(s)
print(s)


eq = input()
neq = ''
n = []
for c in eq:
	if c != '+':
		n.append(int(c))
n = sorted(n)
i = 0
for n0 in n:
	neq += str(n0)
	if i < len(n) - 1:
		neq += '+'
	i += 1
print(neq)


k = input()
l = len(k) + 1
L = []
for i in range(1, l):
	if i % 2 == 1:
		L.append(k[i - 1])
L = sorted(L)
le = len(L)
K = []
for i in range(0, le):
	K.append(L[i])
	K.append('+')
for i in range(len(k)):
	print(K[i], end='')


x = input()
a = list(x)
c = sorted(a)
i = 0
j = 0
v = ''
b = a.count('+')
for i in range(b):
	c.remove('+')
k = len(c)
if k == 1:
	v = v + c[0]
	print(v)
else:
	for j in range(k - 1):
		z = c[j]
		v = v + z + ' '
		l = v + c[k - 1]
	y = l.replace(' ', '+')
	print(y)


string = input('')
string = string.split('+')
sort = sorted(string, key=int)
print('+'.join(sort))


a = input()
b = ''
c = ''
if 1 <= len(a) <= 100:
	if len(a) == 1:
		print(a)
	else:
		for char in a:
			if char == '+':
				a = a.replace(char, '')
		a = sorted(a)
		for i in range(0, len(a)):
			b = b + str(a[i])
		for d in b:
			c = c + '+' + d
		print(c[1:])
else:
	print('Input too long')


suma = input()
p = ''
lista = []
while suma != '':
	c = suma[0]
	if c in ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']:
		p = p + c
	else:
		lista.append(int(p))
		p = ''
	if len(suma) > 1:
		suma = suma[1:]
	else:
		suma = ''
		lista.append(int(p))
n = len(lista)
i = 0
while i < n - 1:
	j = i + 1
	while j < n:
		if lista[j] < lista[i]:
			aux = lista[j]
			lista[j] = lista[i]
			lista[i] = aux
		j = j + 1
	i = i + 1
k = 0
nm = ''
for p in lista:
	c = str(p)
	if n > 1:
		if k >= len(lista) - 1:
			nm = nm + c
		else:
			nm = nm + c + '+'
	else:
		nm = c
	k = k + 1
print(nm)


line = list(map(int, input().split('+')))
line.sort()
new_line = ''
for i in range(len(line)):
	new_line += '+' + str(line[i])
print(new_line[1:])


line = input()
a = 0
b = 0
c = 0

def ex():
	print(''.join(result))
	quit()
result = list()
l = int(len(line) / 2 + 1)
for i in range(l):
	if line[int(2 * i)] == '1':
		a = a + 1
	elif line[2 * i] == '2':
		b = b + 1
	else:
		c = c + 1
count = a + b + c
for i in range(a):
	count = count - 1
	result.append('1')
	if count == 0:
		ex()
	result.append('+')
for i in range(b):
	count = count - 1
	result.append('2')
	if count == 0:
		ex()
	result.append('+')
for i in range(c):
	count = count - 1
	result.append('3')
	if count == 0:
		ex()
	result.append('+')
print(a, b, c)


num = list(map(int, input().split('+')))
num.sort()
i = 0
for e in num:
	print(e, end='')
	i += 1
	if i < len(num):
		print('+', end='')


s = input()
l = len(s)
L1 = []
for i in range(1, l + 1):
	if i % 2 == 1:
		L1.append(s[i - 1])
L1 = sorted(L1)
l2 = len(L1)
L2 = []
for i in range(0, l2):
	L2.append(L1[i])
	L2.append('+')
print(''.join(L2[:-1]))


x = list(input())
while '+' in x:
	x.remove('+')
x.sort()
print('+'.join(x))


s = input()
x = []
y = ''
for i in range(len(s)):
	if s[i - 1] != '+':
		x.append(s[i - 1])
x.sort()
for i in range(len(s)):
	if i % 2 == 0:
		y += x[int(i / 2)]
	else:
		y += '+'
print(y)


a = sorted(input())
b = ''
for i in a:
	if i == '+':
		continue
	else:
		b += i + '+'
b = b[0:-1]
print(b)


sumWrittenOnBoard = [int(x) for x in input().split('+')]
print('+'.join([str(x) for x in sorted(sumWrittenOnBoard)]))


x = input().split('+')
for e in x:
	x[x.index(e)] = int(e)
x.sort()
out = ''
for e in x:
	out += str(e) + '+'
print(out[:-1])


lt = list(input().split('+'))
l = len(lt)
lt.sort()
for i in range(l - 1):
	print(lt[i], end='+')
print(lt[l - 1])


def main():
	d = [int(v) for v in input().split('+')]
	d.sort()
	print('+'.join([str(dd) for dd in d]))
main()


a = input()
q = 0
w = 0
e = 0
for i in a:
	if i == '1':
		q += 1
	elif i == '2':
		w += 1
	elif i == '3':
		e += 1
b = '1' * q + '2' * w + '3' * e
print('+'.join(b))


pro = input().split('+')
pro.sort()
print('+'.join(pro))


c = [int(x) for x in input().split('+')]
c.sort()
print('+'.join((str(i) for i in c)))


l = [str(x) for x in input().split('+')]
l = sorted(l)
if len(l) == 1:
	print(l[0])
else:
	a = ''
	for i in range(len(l) - 1):
		a += l[i]
		a += '+'
	a += l[-1]
	print(a)


def useful_sum_generator(sum):
	elements = list(sum.split('+'))
	sorted_elements = sorted(elements)
	count = 0
	for i in sorted_elements:
		count += 1
	c = 0
	useful_sum = []
	while c != count:
		if c == 0:
			useful_sum.append(sorted_elements[c])
			useful_sum.append('+')
		elif count - 1 == c:
			useful_sum.append(sorted_elements[c])
		else:
			useful_sum.append(sorted_elements[c])
			useful_sum.append('+')
		c += 1
	return ''.join(useful_sum)

def main():
	sum = input()
	if len(sum) == 1:
		print(sum)
	else:
		print(useful_sum_generator(sum))
main()


s = input()
l = []
l1 = []
for i in range(0, len(s), 2):
	l.append(s[i])
l.sort()
for j in l:
	l1.append(str(j) + '+')
s = ''.join(l1)
print(s[:len(s) - 1])


nums = str(input())
vetor = []
for i in range(len(nums)):
	if nums[i] == '1' or nums[i] == '2' or nums[i] == '3':
		vetor.append(nums[i])
vetor.sort()
string = str(vetor[0])
for j in range(1, len(vetor)):
	string += '+' + str(vetor[j])
print(string)


s = input()
l = list()
for i in range(0, len(s), 2):
	l.append(int(s[i]))
l.sort()
t = str()
j = 0
for i in range(len(s)):
	if i % 2:
		t += '+'
	else:
		t += str(l[j])
		j += 1
print(t)


from sys import stdin

def rearrange(line) -> str:
	return '+'.join([str(c) for c in sorted([int(i) for i in line.split('+')])])

def main():
	line = stdin.readline().strip()
	SALIDA = []
	while len(line) != 0:
		SALIDA.append(rearrange(line))
		line = stdin.readline().strip()
	print('\n'.join(SALIDA))
main()


s = input()
l = [i for i in s if i.isdecimal() == True]
l.sort()
print('+'.join(l))


x = input()
a = []
for i in range(len(x)):
	if not i % 2:
		a.append(x[i])
a.sort()
for i in range(len(a) - 1):
	print(a[i] + '+', end='')
print(a[len(a) - 1])


from sys import stdin

def readInts():
	return map(int, stdin.readline().strip().split('+'))

def solve(vs):
	vs.sort()
	return '+'.join(map(str, vs))

def run():
	vs = list(readInts())
	print(solve(vs))
run()


string = list(map(int, input().split('+')))
string.sort()
i = 1
while i < len(string):
	string.insert(i, '+')
	i += 2
for i in string:
	print(i, end='')


a = input()
n = []
i = []
t = ''
for x in range(len(a)):
	if a[x].isdigit():
		n.append(int(a[x]))
		i.append(x)
n = sorted(n)
for c in range(len(n)):
	if c == 0:
		t = t + str(n[c])
	else:
		t = t + '+' + str(n[c])
print(t)


s = input()
ct = [0] * 3
for e in s:
	if e != '+':
		ct[int(e) - 1] += 1
r = ''
for i in range(3):
	r += str(str(i + 1) + '+') * ct[i]
print(r[:-1])


s = str(input())
s = s.replace('+', '')
s = list(s)
s.sort()
l = []
if len(s) <= 1:
	print(s[0])
else:
	for i in range(len(s)):
		l.append(s[i])
		l.append('+')
	for i in range(0, len(l) - 1):
		print(l[i], end='')


a = input()
a = '1+' * a.count('1') + '2+' * a.count('2') + '3+' * a.count('3')
print(a[:-1])


s = input()
r = s.split('+')
r.sort()
z = list()
for i in range(len(r)):
	z.append(r[i])
	z.append('+')
for i in range(len(z) - 1):
	print(z[i], end='')


s = input()
lst = []
for item in s:
	if item == '+':
		pass
	else:
		lst.append(item)
lst.sort()
l = []
for item in lst:
	l.append(item)
	l.append('+')
l.pop()
print(''.join(l))


str1 = input()
l1 = []
for i in str1:
	if i == '1' or i == '2' or i == '3':
		l1.append(i)
l1 = sorted(l1)
for i in range(len(l1)):
	if i != len(l1) - 1:
		print(l1[i] + '+', end='')
print(l1[-1])


A = input()
A = A.split('+')
A.sort()
S = ''
i = 0
for i in range(len(A) - 1):
	S += A[i] + '+'
	i += 1
S += A[-1]
print(S)


s = input()
l = s.split('+')
l = sorted(l)
sep = '+'
print(sep.join(l))


s = list(input())
y = [int(x) for x in s if x != '+']
y.sort()
st1 = '+'
st1 = st1.join((str(z) for z in y))
print(st1)


maxi = input()
yolo = list(maxi)
ans = []
x = 0
y = 0
z = 0
q = 0
for thing in yolo:
	if thing == '1':
		x += 1
	elif thing == '2':
		y += 1
	elif thing == '3':
		z += 1
	else:
		q += 1
for i in range(0, x):
	ans.append('1')
for i in range(0, y):
	ans.append('2')
for i in range(0, z):
	ans.append('3')
print('+'.join(ans))


def helpful_maths(s):
	print('+'.join(sorted(s.split('+'))))

def main():
	helpful_maths(input())
main()


a = input()
b = ''
for i in range(0, len(a), 2):
	b += a[i]
c = sorted(b, reverse=False)
print('+'.join(c))


a = input()
b = []
for i in range(0, len(a), 2):
	b.append(int(a[i]))
a = sorted(b)
for i in range(len(a)):
	if len(a) > 1:
		if i != len(a) - 1:
			print(a[i], end='')
			print('+', end='')
		else:
			print(a[i], end='')
	elif len(a) == 1:
		print(a[i])
	else:
		pass


n = list(str(input()))
n.sort()
k = int((len(n) - 1) / 2)
print('+'.join((x for x in n[k:])))


a = input().split('+')
for (i, x) in enumerate(a):
	a[i] = int(a[i])
a.sort()
for (i, x) in enumerate(a):
	a[i] = str(a[i])
print('+'.join(a))


import math
import os
import random
import re
import sys

def solve(s):
	if '+' not in s:
		return s
	nums = list(map(int, s.split('+')))
	nums.sort()
	return '+'.join((str(num) for num in nums))
s = input()
print(solve(s))


s = input().rstrip()
l = []
for i in s:
	if i.isdigit():
		l.append(int(i))
l.sort()
r = ''
for i in l:
	r += str(i) + '+'
r = r[:-1]
print(r)


x = input()
x = x.split('+')
x.sort()
n = []
for i in x:
	n.append(i)
print('+'.join(n))


a = str(input())
l = a.split('+')
for i in range(len(l) - 1):
	for j in range(len(l) - i - 1):
		if l[j] > l[j + 1]:
			(l[j], l[j + 1]) = (l[j + 1], l[j])
seperator = '+'
x = seperator.join(l)
print(x)


s = input()
s = s.replace('+', '')
lst = list(map(int, str(s)))
lst = sorted(lst)
for i in range(len(lst)):
	if i == len(lst) - 1:
		print(lst[i])
	else:
		print(str(lst[i]) + '+', end='')


s = input()
ausgabe = ''
zahlen = s.split('+')
zahlen.sort()
for i in range(len(zahlen)):
	if int(i) == len(zahlen) - 1:
		ausgabe += zahlen[int(i)]
	else:
		ausgabe += zahlen[int(i)] + '+'
print(ausgabe)


string1 = input()
string2 = []
for i in string1:
	if i.isnumeric():
		string2.append(i)
string2.sort()
string2 = '+'.join(string2)
print(string2)


def arrange(expression: str) -> str:
	operands = sorted(expression.split(sep='+'))
	return '+'.join(operands)
print(arrange(input()))


numbers = list(map(int, input().split('+')))
numbers.sort()
output = ''
for num in numbers:
	output += f'{num}+'
print(output[:-1])


A = [int(i) for i in input().split('+')]
A.sort()
print(*A, sep='+')


a = input()
a = a.replace('+', '')
l = []
for i in a:
	l.append(int(i))
l.sort()
a = str(l[0]) + '+'
for i in l[1:]:
	a = a + str(i) + '+'
print(a[:-1])


line = input()
line = line.split('+')
line2 = []
for i in line:
	line2.append(int(i))
line2 = sorted(line2)
output = ''
for i in line2:
	output += str(i) + '+'
print(output[:len(output) - 1])


a = input()
li = []
for i in a:
	if i != '+':
		li.append(i)
li.sort()
for i in range(len(li)):
	if i != len(li) - 1:
		print(str(li[i]) + '+', end='')
	else:
		print(li[len(li) - 1], end='')


a = list(input().split('+'))
a.sort()
c = ''
for i in a:
	c = c + i + '+'
l = len(c)
print(c[0:l - 1])


string = input()
a = string.split('+')
a.sort()
print('+'.join(a))


string = input()
s = sorted(string)
new = ''
for i in range(len(s)):
	if i == len(s) - 1:
		new += s[i]
	elif s[i] == '+':
		continue
	else:
		new += s[i] + '+'
print(new)


s = input()
integers = []
for i in range(0, len(s), 2):
	integers.append(s[i])
output = ''
integers.sort()
for i in range(len(integers)):
	output += integers[i] + '+'
print(output[:-1])


s = input().split('+')
s.sort()
l = []
for i in s:
	l.append(i)
	l.append('+')
l.pop()
for i in l:
	print(i, end='')


a = input()
b = []
for i in a:
	if i != '+':
		b.append(int(i))
b.sort()
ln = len(b)
for i in range(0, ln):
	print(b[i], end='')
	if i < ln - 1:
		print('+', end='')


s = input().replace('+', '')
x = []
for i in range(len(s)):
	x.append(s[i])
x = sorted(x)
ss = x[0]
for i in range(1, len(x)):
	ss += '+' + x[i]
print(ss)


import math
a = input()
a = a.replace('+', '')
b = []
for i in a:
	b.append(i)
b.sort()
b = ''.join(b)
b = '+'.join(b)
print(b)


inp = input().split('+')
output = [int(char) for char in inp]
output.sort()
output1 = [str(int) for int in output]
realout = '+'.join(output1)
print(realout)


def solution():
	numbers = [x for x in input().split('+')]
	numbers.sort()
	print('+'.join(numbers))
solution()


s = str(input())
s_list = s.split('+')
i_list = [int(t) for t in s_list]
i_list.sort()
s = ''
for t in i_list:
	s += str(t) + '+'
s = s[:-1]
print(s)


s = input()
s = list(s)
z = len(s) // 2
s.sort()
x = s[z:]
y = list()
for i in range(len(x)):
	y.append(x[i])
	y.append('+')
y.pop()
for i in range(len(y)):
	print(y[i], end='')


x = input()
x = list(x)
x.sort()
d = x[0:len(x) // 2]
c = x[len(x) // 2:]
for i in range(len(d)):
	print(c[i], end='')
	print(d[i], end='')
print(c[-1])


a = list(input())
x = []
l = list(a[::2])
for i in range(len(l)):
	x.append(int(l[i]))
x.sort()
print(x[0], end='')
for i in range(1, len(l)):
	print('+', end='')
	print(x[i], end='')


string = input()
str_lst = string.split('+')
lst = sorted(map(int, str_lst))
final_str = ''
print('+'.join(map(str, lst)))


n = input()
a = []
for i in range(len(n)):
	a.append(n[i])
c = a.count('+')
for i in range(c):
	a.remove('+')
a.sort()
t = a
print(f'{t[0]}', end='')
for i in range(1, len(n) // 2 + 1):
	print(f'+{t[i]}', end='')


s = str(input())
t = []
for i in range(len(s)):
	if i == 0 or i % 2 == 0:
		t.append(s[i])
t = sorted(t)
xenia = ''
for i in range(len(t) - 1):
	xenia = xenia + t[i] + '+'
xenia = xenia + t[-1]
print(xenia)


s = input()
t = len(s)
l = t // 2
L = []
for i in range(l + 1):
	num = int(s[2 * i])
	L.append(num)
L.sort()
for i in range(l):
	print(L[i], end='')
	print('+', end='')
print(L[-1])


def solve():
	x = input()
	print('+'.join(map(str, sorted(map(int, x.split('+'))))))
solve()


s = list(input())
for i in range(len(s) - 1, 1, -2):
	for el in range(2, i + 2, 2):
		if s[el] < s[el - 2]:
			elem = s[el]
			s[el] = s[el - 2]
			s[el - 2] = elem
result = ''.join(s)
print(result)


k = input('')
lst = list()
for j in k:
	if j != '+':
		lst.append(j)
lst.sort()
z = '+'.join((f for f in lst))
print(z)


a = map(int, input().split('+'))
b = sorted(a)
result = ''
for i in range(len(b)):
	result += str(b[i]) + '+'
print(result[0:-1])


s = input()
word = []
s = s.replace('+', '')
for i in range(len(s)):
	word.append(s[i])
word.sort()
s = '+'.join(word)
print(s)


from sys import stdin
(lines, line_index) = (stdin.readlines(), -1)

def get_line():
	global lines, line_index
	line_index += 1
	return lines[line_index]

def main():
	s = '+'.join(sorted(get_line().strip().split('+')))
	print(s)
main()


p = input()
p = sorted(p)
x = len(p)
a = ''
for i in range(x // 2, x - 1):
	a += p[i] + '+'
a += p[x - 1]
print(a)


Cadena = input()
L = Cadena.replace('+', '')
Lista = list(L)
N1 = Lista.count('1')
N2 = Lista.count('2')
N3 = Lista.count('3')
Output = ''
for k in range(N1):
	Output += '1+'
for j in range(N2):
	Output += '2+'
for l in range(N3):
	Output += '3+'
print(Output.strip('+'))


import sys
it = iter(sys.stdin.read().split())
numbers = [int(x) for x in next(it).split('+')]
numbers.sort()
message = ''
for x in range(len(numbers) - 1):
	message += str(numbers[x]) + '+'
message += str(numbers[len(numbers) - 1])
print(message)


a = input().split('+')
b = sorted(a)
r = []
for x in range(len(a)):
	r.append(b[x])
	r.append('+')
print(''.join(r[:-1]))


inp = input()
lst = []
for i in range(len(inp)):
	if inp[i] != '+':
		lst.append(inp[i])
lst.sort()
out = ''
for i in lst:
	out += i + '+'
print(out[0:-1])


s = str(input())
L = []
for i in range(0, len(s), 2):
	L = L + [s[i]]
L = sorted(L)
c = str()
c = c + L[0]
for i in L[1:]:
	c = c + '+'
	c = c + i
print(c)


str = sorted(input())
count = 0
while count < len(str) // 2:
	print(str[len(str) // 2 + count] + str[count], end='')
	count += 1
print(str[len(str) - 1])


n = input()
l = []
for i in n:
	if i != '+':
		l.append(i)
l = sorted(l)
for i in range(len(l)):
	if i == 0:
		print(l[i], end='')
	else:
		print('+' + l[i], end='')


s = input()
a = s.split('+')
a.sort()
for i in range(len(a)):
	if i == len(a) - 1:
		print(a[len(a) - 1])
		break
	print(a[i], end='+')


s = input()
l = []
for i in range(len(s)):
	if i % 2 == 0:
		l.append(int(s[i]))
l.sort()
for i in range(len(l)):
	if not i == len(l) - 1:
		print(l[i], '+', sep='', end='')
	else:
		print(l[i], end='')


Str = input()
Sl = Str.split('+')
Li = []
for num in Sl:
	Li.append(int(num))
Li.sort()
for num in range(0, len(Li)):
	Sl[num] = str(Li[num])
Sto = '+'.join(Sl)
print(Sto)


n = list(input())
if len(n) == 1:
	print(''.join(n))
	quit()
for i in range(2, len(n), 2):
	j = i
	while j > 0 and int(n[j]) < int(n[j - 2]):
		(n[j], n[j - 2]) = (n[j - 2], n[j])
		j -= 2
print(''.join(n))


x = input()
lx = len(x)
cmplt_str = ''
ly = 0
if lx >= 1 and lx <= 100:
	y = x.split('+')
	ly = len(y)
	y.sort()
	i = 0
	while i < ly:
		cmplt_str += y[i] + '+'
		i += 1
	print(cmplt_str[0:lx])


n = input()
if len(n) > 1:
	n = n.split('+')
	n = [int(i) for i in n]
	n.sort()
	n = [str(i) for i in n]
	n = '+'.join(n)
	print(n)
else:
	print(n)


s = input()
c = ''
l = [0] * 4
for i in s:
	if i != '+':
		l[int(i)] += 1
for i in range(1, 4):
	for j in range(0, l[i]):
		if l[i] > 0:
			c += str(i)
			l[i] -= 1
for i in range(0, len(c)):
	print(c[i], end='')
	if i < len(c) - 1:
		print('+', end='')


s = list(input())
ans = ''
while '+' in s:
	s.remove('+')
s.sort()
for i in range(len(s)):
	if i != len(s) - 1:
		ans += s[i] + '+'
	else:
		ans += s[i]
print(ans)


a = input()
b = len(a)
c = []
d = []
count = 0
for i in range(0, b):
	if a[i] == '1' or a[i] == '2' or a[i] == '3':
		c.append(a[i])
c.sort()
for i in c:
	if i == len(c):
		d.append(i)
	else:
		d.append(i)
		count = count + 1
		if count == len(c):
			break
		d.append('+')
print(''.join(d))


str1 = list(map(int, input().split('+')))
str1.sort()
str2 = ''
n = len(str1)
for x in str1:
	n -= 1
	str2 += str(x)
	if n > 0:
		str2 += '+'
print(str2)


n = input().split('+')
n = sorted(n)
s = ''
temp = 0
for i in n:
	if temp == 0:
		s = s + i
	elif temp != 0:
		s = s + '+' + i
	temp = temp + 1
print(s)


s = str(input())
i = 0
a = len(s)
list = []
c = 0
j = 0
list1 = []
while i < a:
	list.append(str(s[i]))
	if list[i] != '+':
		c = c + 1
		list1.append(int(list[i]))
	i = i + 1
list1.sort()
while j < c:
	if j == c - 1:
		print(list1[j], end='')
	else:
		print(list1[j], '+', end='', sep='')
	j = j + 1


s = input()
a = sorted(s.split('+'))
ans = ''
for i in a:
	ans += i + '+'
print(ans[:-1])


s = input()
l = []
for i in s:
	if i != '+':
		l.append(int(i))
r = ''
for i in sorted(l):
	r += str(i) + '+'
print(r[:len(r) - 1])


s = input().rstrip('\r')
a = []
if len(s) == 1:
	print(s[0])
else:
	for i in range(len(s)):
		if s[i].isdigit():
			a.append(int(s[i]))
	b = ''
	a.sort()
	for i in range(len(a)):
		b += str(a[i])
		if i != len(a) - 1:
			b += '+'
	print(b)


calc = input()
newcalc = ''
for i in range(len(calc)):
	if i % 2 == 0:
		newcalc = newcalc + calc[i]
print('+'.join(sorted(newcalc)))


def input_split(input_math):
	alist = input_math.split('+')
	return alist

def SelectionSort(alist):
	for i in range(len(alist) - 1):
		minVal = alist[i]
		minIndex = i
		for j in range(i + 1, len(alist)):
			if minVal > alist[j]:
				minVal = alist[j]
				minIndex = j
		tempVal = alist[i]
		alist[i] = minVal
		alist[minIndex] = tempVal
	return alist

def print_sum(alist):
	string = alist[0]
	for i in range(1, len(alist)):
		string = string + '+' + alist[i]
	print(string)

def main():
	s = input()
	sum_list = input_split(s)
	SelectionSort(sum_list)
	print_sum(sum_list)
main()


a = list(input())
b = []
for i in range(0, len(a)):
	if a[i] != '+':
		b.append(a[i])
b.sort()
c = '+'.join(b)
print(c)


s = input()
if '+' not in s:
	print(s)
else:
	l = s.split('+')
	l.sort()
	print('+'.join(l))


S = sorted([s for s in input().split('+')])
print('+'.join(S))


po = input()
ler = []
for i in po:
	if i.isdigit():
		ler.append(i)
ler.sort()
res = ''
for i in range(len(ler)):
	res += ler[i]
	res += '+'
print(res[:-1])


str1 = input()
str1 = list(str1.split('+'))
str1.sort()
str2 = ''
for i in str1:
	str2 += i + '+'
print(str2[:-1])


def helpXenia(arr):
	arr.sort()
	arr = [str(i) for i in arr]
	print('+'.join(arr))
x = input()
arr = x.split('+')
arr = [int(i) for i in arr]
helpXenia(arr)


a = input()
urt = len(a)
a = sorted(a)
too = ''
for i in range(urt - 1):
	if a[i] != '+':
		too += a[i] + '+'
print(too + a[urt - 1])


a = input()
x = a.split('+')
x.sort()
sum = 0
irr = 0
for i in x:
	irr += 1
	if irr == len(x):
		break
	print(i + '+', end='')
print(x[len(x) - 1])


(a, b, c) = (0, 0, 0)
s = input()
for i in s:
	if i == '1':
		a += 1
	elif i == '2':
		b += 1
	elif i == '3':
		c += 1
	else:
		pass
if a == 0:
	if b == 0:
		print('3' + '+3' * (c - 1))
	else:
		print('2' + '+2' * (b - 1) + '+3' * c)
else:
	print('1' + '+1' * (a - 1) + '+2' * b + '+3' * c)


s = input()
le = len(s)
(l, x) = ([], le // 2)
for i in range(0, le, 2):
	l.append(int(s[i]))
l.sort()
for i in range(x):
	print(l[i], end='+')
print(l[x])


arr = input().split('+')
arr.sort()
string = ''
for x in arr:
	string += x + '+'
print(string[0:len(string) - 1])


m = input()
len_m = len(m)
k = ['0']
if len_m == 1:
	print(m)
else:
	k[0] = m[0]
	for i in range(1, int((len_m + 1) / 2)):
		k.append(m[2 * i])
	k.sort()
	m = list(m)
	for i in range(int((len_m + 1) / 2)):
		m[2 * i] = k[i]
	x = ''.join(m)
	print(x)


import re
s = input()
x = re.findall('\\d', s)
x.sort()
if len(x) == 1:
	print(*x)
else:
	print(*x, sep='+')


x = input('')
x1 = sorted(x)
for i in range(len(x)):
	if '+' in x1:
		x1.remove('+')
	else:
		continue
print('+'.join(x1))


s = [int(x) for x in input().split('+')]
for i in range(len(s)):
	c = sorted(s)[i]
	print(c, end='')
	if i != len(s) - 1:
		print('+', end='')


x = input().split('+')
y = []
for i in x:
	if i == '1':
		y.append(i)
for i in x:
	if i == '2':
		y.append(i)
for i in x:
	if i == '3':
		y.append(i)
x = y[0]
for i in range(1, len(y)):
	x += '+' + y[i]
print(x)


array = list(map(int, input().split('+')))
array.sort()
result = ''
for i in range(0, len(array)):
	result += str(array[i])
	if i != len(array) - 1:
		result += '+'
print(result)


expr = input().split('+')
expr = sorted(expr, key=lambda x: int(x))
print('+'.join(expr))


s = input()
t = s.replace('+', '')
res = '+'.join(sorted(t))
print(res)


a = str(input())
b = ''
for i in a:
	if i != '+':
		b = b + i
res = [int(x) for x in str(b)]
res.sort()
res = [str(i) for i in res]
for i in range(1, 2 * (len(res) - 1), 2):
	res.insert(i, '+')
res = str(''.join(map(str, res)))
print(res)


def main():
	sum = input().split('+')
	print('+'.join(sorted(sum)))
main()


(a, b) = ('', list(map(str, input().split('+'))))
b.sort()
for i in b:
	a += '+' + i
print(a[1:])


def helpfulmath():
	string = input()
	list_string = string.split('+')
	list_int = []
	for i in range(len(list_string)):
		list_int.append(int(list_string[i]))
	list_int = sorted(list_int)
	new_string = ''
	for i in range(len(list_int)):
		if i == len(list_int) - 1:
			new_string += str(list_int[i])
		else:
			new_string += str(list_int[i]) + '+'
	return new_string
print(helpfulmath())


import re
r = input()
s = re.split('\\+', r)
s.sort()
p = ''
for i in range(len(s)):
	if i < len(s) - 1:
		p += s[i] + '+'
	else:
		p += s[-1]
print(p)


s = input()
l1 = []
for i in s:
	l1.append(i)
for i in l1:
	if i == '+':
		l1.remove(i)
l1.sort()
g = ''
for i in l1:
	g += i
	g += '+'
g1 = g[:len(g) - 1]
print(g1)


n = input()
if len(n) == 1:
	print(n)
else:
	for i in range(len(n) - 2):
		list1 = n.split('+')
		list1.sort()
	print('+'.join(list1))


s = input()
x1 = 0
x2 = 0
x3 = 0
a = ''
for i in range(0, len(s), 2):
	if s[i] == '1':
		x1 = x1 + 1
	elif s[i] == '2':
		x2 = x2 + 1
	elif s[i] == '3':
		x3 = x3 + 1
for l in range(0, x1):
	a = a + '1+'
for j in range(0, x2):
	a = a + '2+'
for k in range(0, x3):
	a = a + '3+'
s = list(a)
s[len(s) - 1] = ''
print(''.join(s))


txt_array = input().split('+')
num_array = sorted([int(i) for i in txt_array])
string_out = ''
for i in range(len(num_array) - 1):
	string_out = string_out + str(num_array[i]) + '+'
string_out = string_out + str(num_array[len(num_array) - 1])
print(string_out)


s = input()
t = s.split('+')
t.sort()
for x in range(0, len(t)):
	print(t[x], end='')
	if x != len(t) - 1:
		print('+', end='')


lis = [int(x) for x in input().split('+')]
lis = sorted(lis)
st = ''
for i in range(0, len(lis) - 1):
	st = st + str(lis[i]) + '+'
st = st + str(lis[-1])
print(st)


a = input()
b = list()
d = ''
for i in a:
	if i.isdecimal():
		c = i
		b.append(c)
b.sort()
for i in b:
	d = d + i + '+'
x = d[0:-1]
print(x)


v = list(map(int, input().split('+')))
v.sort()
s = []
c = 0
for i in range(len(v) * 2 - 1):
	if i % 2 == 0:
		s.append(v[c])
		c += 1
	else:
		s.append('+')
s = ''.join((str(x) for x in s))
print(s)


a = input().strip()
l = len(a)
x = []
ans = []
for i in range(0, l, 2):
	x.append(a[i])
x = sorted(x)
b = '+'
c = 0
for i in range(l):
	if i == 0:
		ans.append(x[c])
		c += 1
	elif i == 1:
		ans.append(b)
	elif i % 2 == 0:
		ans.append(x[c])
		c += 1
	else:
		ans.append(b)
p = ''.join(ans)
print(p)


n = input()
list1 = list(n)
for i in list1:
	if i == '+':
		list1.remove(i)
list1.sort()
number = '+'.join(list1)
print(number)


m = input()
a = b = c = 0
s = ''
for i in range(0, len(m), 2):
	if int(m[i]) == 1:
		a = a + 1
	elif int(m[i]) == 2:
		b = b + 1
	else:
		c = c + 1
for i in range(a):
	s = s + '1'
for i in range(b):
	s = s + '2'
for i in range(c):
	s = s + '3'
t = s[0]
for i in range(1, a + b + c):
	t = t + '+' + s[i]
print(t)


eq = input()
arr = []
for i in eq:
	if i != '+':
		arr.append(int(i))
arr.sort()
ans = ''
length = len(arr)
for i in range(length):
	ans += str(arr[i])
	if i != length - 1:
		ans += '+'
print(ans)


a = input()
li = []
for i in range(0, len(a), 2):
	li.append(a[i])
li.sort()
ans = ''
for i in range(len(li) - 1):
	ans += li[i]
	ans += '+'
print(ans + li[-1])


sum = str(input())
lis = [0]
for i in range(len(sum)):
	if sum[i] != '+':
		lis.append(int(sum[i]))
lis.sort()
nsum = ''
for i in range(1, len(lis)):
	nsum = nsum + str(lis[i])
	if i < len(lis) - 1:
		nsum = nsum + '+'
print(nsum)


buckets = [0 for _ in range(4)]
for k in map(int, input().split('+')):
	buckets[k] += 1
terms = []
for (i, n) in enumerate(buckets[1:]):
	terms += [str(i + 1)] * n
print('+'.join(terms))


from math import floor, ceil
from sys import stdin, stdout

def main(status=int(0), max_size_of_string=100, split_elm='+'):
	math_line = input().split(split_elm)
	array_with_int_nums = sorted(list(map(int, math_line)), reverse=False)
	array_spliter = 0
	for undetected in range(len(array_with_int_nums) + len(array_with_int_nums) - 1):
		if undetected % 2 == 0:
			print(array_with_int_nums[array_spliter], end='')
			array_spliter += 1
		else:
			print('+', end='')
main()


list = []
for i in input():
	if i == '+':
		pass
	else:
		list.append(i)
list.sort()
print(list[0], end='')
list.remove(list[0])
for j in list:
	print('+', end='')
	print(j, end='')


lol = [int(i) for i in input().split('+')]
lol.sort()
for i in range(len(lol)):
	if i == len(lol) - 1:
		print(lol[i])
	else:
		print(str(lol[i]) + '+', end='')


s = input().split('+')
s.sort()
print(s[0], end='')
for i in range(1, len(s)):
	print('+{}'.format(s[i]), end='')


num = []
num = input().split('+')
for n in range(1, len(num)):
	for i in range(0, len(num) - 1):
		if num[int(i)] > num[int(n)]:
			temp = num[int(n)]
			num[int(n)] = num[int(i)]
			num[int(i)] = temp
for n in range(1, len(num)):
	num[n] = '+' + num[n]
for n in num:
	print('{}'.format(n).strip(), end='')


s = input().split('+')
for i in range(0, len(s)):
	s[i] = int(s[i])
t = sorted(s)
for i in range(0, len(s) - 1):
	print(str(t[i]) + '+', end='')
print(t[-1])


s = str(input())
a = s.split('+')
a = sorted(a)
res = a[0]
for i in range(1, len(a)):
	res += '+' + a[i]
print(res)


a = list(input().split('+'))
a.sort()
for i in range(len(a)):
	if len(a) == 1:
		print(a[i])
	elif i < len(a) - 1:
		print(a[i] + '+', end='', sep='')
	else:
		print(a[i])


g = sorted(list(map(int, input().split('+'))))
total = ''
for i in range(0, len(g)):
	total += str(g[i])
	if i != len(g) - 1:
		total += '+'
print(total)


my_list = str(input()).split('+')
counter_1 = 0
counter_2 = 0
counter_3 = 0
tmp = ''
for i in my_list:
	if i == '1':
		counter_1 += 1
	elif i == '2':
		counter_2 += 1
	else:
		counter_3 += 1
for i in range(counter_1):
	tmp += '1+'
for i in range(counter_2):
	tmp += '2+'
for i in range(counter_3):
	tmp += '3+'
print(tmp[0:-1])


a = input()
a = list(map(int, a.replace('+', '')))
a.sort()
for i in range(len(a)):
	print(a[i], end='')
	if i != len(a) - 1:
		print('+', end='')


a = input()
l = list(a)
d = []
p = []
while '+' in l:
	l.remove('+')
while l:
	m = l.pop()
	d.append(m)
d.sort()
f = '+'.join(d)
print(f)


while 1:
	try:
		s = input()
		a = []
		for i in range(0, len(s), 2):
			a.append(int(s[i]))
		a.sort()
		for ele in a[:len(a) - 1]:
			print(ele, end='+')
		print(a[-1])
	except EOFError:
		break


a = str(input())
x = a.replace('+', '')
x = sorted(x)
y = '+'.join(x)
print(y)


def intergise(list, y):
	for num in list:
		y.append(int(num))
	y = y.sort()
	return y
y = []
ans = []
x = input().split('+')
intergise(x, y)
for number in y:
	ans.append(number)
	ans.append('+')
ans.pop()
print(''.join(map(str, ans)))


question = str(input())
temp = question.split('+')
temp.sort()
print('+'.join(temp))


y = input().split()
q = list(y[0])
for i in range(1, len(q), 2):
	q.remove('+')
z = [int(x) for x in q]
z.sort()
z1 = [str(x) for x in z]
for m in range(1, len(z1) * 2 - 1, 2):
	z1.insert(m, '+')
string = z1[0]
for g in range(1, len(z1)):
	string = string + z1[g]
print(string)


n = [x for x in input().split('+')]
n.sort()
op = 0
print('+'.join(n))


s = input()
a = []
a = s.split('+')
s = ''
for i in range(len(a) - 1):
	for j in range(len(a) - 1):
		if a[j] > a[j + 1]:
			(a[j], a[j + 1]) = (a[j + 1], a[j])
s += a[0]
a[0] = -1
for x in a:
	if x != -1:
		s += '+'
		s += x
print(s)


arr = list(map(int, input().split('+')))
arr.sort()
for i in arr[:-1]:
	print(str(i), end='+')
print(arr[-1])


s = input()
l = list()
for i in range(len(s)):
	if s[i] == '+':
		continue
	else:
		l.append(s[i])
l.sort(key=int)
b = ''.join(map(str, l))
for x in range(len(b)):
	print(b[x], end='')
	if x == len(b) - 1:
		break
	print('+', end='')


s = sorted(input().split('+'))
if len(s) > 1:
	print('+'.join(s))
else:
	print(s[0])


k = 1
nums = list(map(str, input()))
plus = []
for i in range(0, nums.count('+')):
	f = nums.index('+')
	plus.append(nums[f])
	nums.__delitem__(f)
nums.sort()
for i in range(0, len(plus)):
	nums.insert(i + k, plus[i])
	k = k + 1
print(''.join(map(str, nums)))


operations = str(input()).split('+')
sort_ops = sorted(list(map(int, operations)))
ops = '+'.join(map(str, sort_ops))
print(ops)


li = list(map(int, input().split('+')))
l = sorted(li)
x = len(l)
for i in range(x):
	print('%i' % l[i], end='')
	if i != x - 1:
		print('+', end='')


a = list(input().split('+'))
a.sort()
c = a[0]
for k in range(1, len(a)):
	c += '+' + a[k]
print(c)


inp = input()
flag = 0
s = []
if '+' in inp:
	flag = 1
for i in inp:
	if i.isdigit():
		s.append(i)
s.sort()
if flag == 1:
	e = ['+'] * (len(s) - 1)
	for i in range(len(s) + len(e)):
		if i % 2 == 0:
			print(s[int(i // 2)], end='')
		else:
			print(e[int(i // 2)], end='')
else:
	print(*s)


s = input()
sum_ = s.split('+')
sum_.sort()
print('+'.join(sum_))


import sys
import math
import collections
from collections import deque
from functools import reduce
from sys import stdin, stdout, setrecursionlimit
setrecursionlimit(2 ** 20)

def factors(n):
	return list(set(reduce(list.__add__, ([i, n // i] for i in range(1, int(n ** 0.5) + 1) if n % i == 0))))
s = list(stdin.readline().strip('\n').split('+'))
n = len(s)
a = []
for i in s:
	a.append(int(i))
a.sort()
for i in range(n - 1):
	print(str(a[i]), end='+')
print(a[n - 1])


strng = input()
strng = list(strng)
num = []
for i in strng:
	if i != '+':
		num.append(int(i))
num.sort()
count = 0
for i in num:
	strng[count] = str(i)
	count += 2
print(''.join(strng))


sum = list(map(int, input().split('+')))
sum.sort()
i = 1
while i < len(sum):
	sum.insert(i, '+')
	i += 2
a = ''.join((str(e) for e in sum))
print(a)


s = list(input())
t = 0
if '+' in s:
	while '+' in s:
		s.remove('+')
		s.sort()
		t = s
	for i in s[:-1]:
		print(i, end='+')
	print(t[-1])
else:
	print(s[0])


s = input()
arr_s = s.split('+')
arr_s.sort()
new_s = '+'.join(arr_s)
print(new_s)


question = [num for num in input().split('+')]
print('+'.join(sorted(question)))


numbers = list(map(int, input().split('+')))
lo = 0
mid = 0
hi = len(numbers) - 1
while mid <= hi:
	if numbers[mid] == 1:
		(numbers[lo], numbers[mid]) = (numbers[mid], numbers[lo])
		lo += 1
		mid += 1
	elif numbers[mid] == 2:
		mid += 1
	else:
		(numbers[mid], numbers[hi]) = (numbers[hi], numbers[mid])
		hi -= 1
print('+'.join(map(str, numbers)))


s = input()
my_list = s.split('+')
my_list.sort()
for elem in my_list[0:len(my_list) - 1]:
	print(elem, end='+')
print(my_list[len(my_list) - 1])


x = input()
y = 0
r = 0
k = 0
m = 0
while y < len(x):
	if x[y] == '1':
		r = r + 1
	if x[y] == '2':
		k = k + 1
	if x[y] == '3':
		m = m + 1
	y = y + 2
s = r * '1+' + k * '2+' + m * '3+'
s = s[:-1]
print(s)


a = input()
arr = list(map(int, a.split('+')))
arr.sort()
print('+'.join((str(x) for x in arr)))


s = input()
s1 = ''
for i in s:
	if i.isdigit():
		s1 += i
print('+'.join(sorted(s1)))


a = list(input())
b = []
c = ''
for i in a:
	if i.isdigit():
		b.append(i)
b.sort()
for i in b:
	c += str(i)
	c += '+'
print(c[:-1])


def myFunc(numbers):
	list_numbers = numbers.split('+')
	list_numbers.sort()
	output = list_numbers[0]
	i = 1
	while i < len(list_numbers):
		output = output + '+' + list_numbers[i]
		i += 1
	return output
numbers = input('')
result = myFunc(numbers)
print(result)


s = input()
tmp = {'1': 0, '2': 0, '3': 0}
for i in s:
	if i != '+':
		tmp[i] += 1
s = ''
for i in tmp.keys():
	for j in range(tmp[i]):
		s += i + '+'
print(s[:len(s) - 1])


list1 = input().split('+')
list2 = [int(x) for x in list1]
list2.sort()
print('+'.join([str(i) for i in list2]))


s = input()
mlist = []
for i in s:
	if i != '+':
		mlist.append(int(i))
mlist.sort()
slist = []
for j in mlist:
	slist.append(str(j))
print('+'.join(slist))


a = input()
l = []
summ = ''
for i in a:
	if i != '+':
		i = int(i)
		l.append(i)
l.sort()
for i in l:
	i = str(i)
	summ += i + '+'
print(summ[:-1])


s = str(input())
l = []
k = ['1', '2', '3']
for x in s:
	if x in k:
		l.append(x)
l = sorted(l)
print('+'.join(l))


num = list(map(int, input().split('+')))
num.sort()
final = list(map(str, num))
add = '+'
print(add.join(final))


import sys
inp = input().split('+')
inp.sort()
out = ''
for x in inp:
	out = out + x + '+'
out = out[:-1]
print(out)


a = input()
b = list()
for i in a:
	if i != '+':
		b.append(int(i))
b.sort()
for i in b[:-1]:
	print(i, end='')
	print('+', end='')
print(b[-1])


def main(expression):
	summands = []
	result = ''
	for i in expression:
		if i != '+':
			summands.append(i)
	if len(summands) == 1:
		return summands[0]
	summands = sorted(summands)
	for i in summands:
		result += i + '+'
	return result[:-1]
expression = input()
print(main(expression))


cifri = sorted(map(int, list(filter(lambda x: x != '+', list(input())))))
for i in range(len(cifri)):
	if i != len(cifri) - 1:
		print(str(cifri[i]) + '+', end='')
	else:
		print(str(cifri[i]))


ch = input('')
l = ch.split('+')
l = sorted(l)
s = '+'.join(l)
print(s)


listsrt = input().split('+')
a = sorted(listsrt)
ans = '+'.join(a)
print(ans)


str = input()
num = []
for i in str:
	if i != '+':
		num.append(i)
num.sort()
l = []
for i in num:
	l.append(i)
	l.append('+')
l = ''.join(l[:-1])
print(l)


def main():
	input_sum = input()
	list_of_numbers = []
	for val in input_sum:
		if val != '+':
			list_of_numbers.append(val)
	list_of_numbers = sorted(list_of_numbers)
	output_string = ''
	for i in range(len(list_of_numbers)):
		if i != len(list_of_numbers) - 1:
			output_string = output_string + str(list_of_numbers[i]) + '+'
		else:
			output_string = output_string + str(list_of_numbers[i])
	print(output_string)

def sec_main():
	count1 = 0
	count2 = 0
	count3 = 0
	input_sum = input()
	for val in input_sum:
		if val != '+':
			if int(val) == 1:
				count1 += 1
			elif int(val) == 2:
				count2 += 1
			else:
				count3 += 1
	output_sum = '1+' * count1 + '2+' * count2 + '3+' * count3
	output_sum = output_sum[0:-1]
	print(output_sum)
sec_main()


s = input().split('+')
news = ''
if len(s) == 1:
	print(s[0])
else:
	for i in range(len(s)):
		news += min(s)
		s.remove(min(s))
		if len(s) > 0:
			news += '+'
	print(news)


K = list(map(int, input().split('+')))
l = [0 for i in range(4)]
for i in K:
	l[int(i)] = l[int(i)] + 1
for i in range(len(l)):
	if l[i] > 0:
		for j in range(l[i]):
			if i == max(K) and j == l[i] - 1:
				print(str(i), end='')
			else:
				print(str(i) + '+', end='')


a = input()
a = [int(i) for i in a.split('+')]
a.sort()
t = [print(i, end='+') for i in a[:-1]]
print(a[-1])


exp = input()
exp_splited = exp.split('+')
exp_int = list(map(int, exp_splited))
exp_int.sort()
exp_str = list(map(str, exp_int))
out = '+'.join(exp_str)
print(out)


inp = input().strip()
nums = inp.split('+')
nums.sort()
print('+'.join(nums))


s = input()
l = []
for i in s:
	if i != '+':
		l.append(int(i))
l.sort()
st = ''
for j in l:
	st = st + '+' + str(j)
print(st[1:])


arr = input()
L = []
for i in range(1, len(arr) + 1):
	if i % 2 == 1:
		L.append(arr[i - 1])
print(*sorted(L), sep='+')


String = input()
List = []
y = 0
if len(String) > 1:
	for x in String[::2]:
		List.append(x)
	for x in sorted(List):
		if y == len(List) - 1:
			print(x)
		else:
			print(x + '+', end='')
		y += 1
else:
	print(String)


s = input()
summands = [int(x) for x in s.split('+')]
summands.sort()
print('+'.join([str(x) for x in summands]))


input_string = list(map(str, input().split('+')))
sorted_string = sorted(input_string)
final_string = ''
for i in range(1, len(sorted_string)):
	final_string = final_string + str('+' + sorted_string[i])
print(str(sorted_string[0]) + final_string)


oldplus = input()
newplus = ''
for i in range(0, len(oldplus), 2):
	newplus += oldplus[i]
newplus = sorted(newplus)
print('+'.join(newplus))


import sys
line = sys.stdin.readline()
no1s = line.count('1')
no2s = line.count('2')
no3s = line.count('3')
print('+'.join('1' * no1s + '2' * no2s + '3' * no3s))


s = input().split('+')
out = ''
l = len(s)
for i in range(0, l):
	s[i] = int(s[i])
s.sort()
for i in range(l - 1):
	out += str(s[i]) + '+'
out += str(s[-1])
print(out)


def organize():
	numbers = []
	for i in range(0, len(only_str)):
		if i % 2 == 0:
			numbers.append(only_str[i])
	numbers.sort()
	final_str = ''
	for i in range(len(numbers)):
		final_str += str(numbers[i])
		if i != len(numbers) - 1:
			final_str += '+'
	return final_str
only_str = input()
print(organize())


n = input()
arr = n.split('+')
ls = []
for p in arr:
	ls.append(int(p))
l = len(ls)
for i in range(l):
	for x in range(l - 1 - i):
		if ls[x] > ls[x + 1]:
			(ls[x], ls[x + 1]) = (ls[x + 1], ls[x])
for q in range(l):
	if len(ls) == 1:
		print(ls[0])
	else:
		print(ls[q], end='')
		if q != len(ls) - 1:
			print('+', end='')


var = input()
list1 = var.split('+')
list1.sort()
ans = list1[0]
for i in range(1, len(list1)):
	ans += '+'
	ans += list1[i]
print(ans)


inper = list(map(int, input().split('+')))
inper.sort()
answer = ''
for i in inper:
	answer += '+{}'.format(i)
answer = answer.strip('+')
print(answer)


s = str(input())
arr = []
arr = s.split('+')
print('+'.join(sorted(arr)))


statement = input()
a = []
for i in statement:
	if i != '+':
		a.append(i)
a = sorted(a)
statement = ''
for i in a:
	statement += i + '+'
print(statement[:-1])


def inc(m):
	a = m.split('+')
	a.sort()
	return '+'.join(a)
m = input()
print(inc(m))


A = list(map(int, input().split('+')))
A.sort()
print('+'.join(map(str, A)))


line = [int(e) for e in input().split('+')]
line.sort()
print('+'.join([str(e) for e in line]))


m = input()
n = []
for i in range(m.count('1')):
	n.append('1')
for j in range(m.count('2')):
	n.append('2')
for k in range(m.count('3')):
	n.append('3')
print('+'.join(n))


n = input()
n = n.split('+')
n.sort()
r = ''
for k in range(0, len(n) - 1):
	r = r + n[k] + '+'
r = r + n[-1]
print(r)


s = input()
arr = s.split('+')
arr = [int(i) for i in arr]
arr.sort()
arr = [str(i) for i in arr]
print('+'.join(arr))


s = input()
mat = []
for i in s:
	if 48 <= ord(i) <= 57:
		mat.append(i)
for i in range(len(mat)):
	mat[i] = int(mat[i])
mat = sorted(mat)
for j in range(len(mat)):
	if j == len(mat) - 1:
		print(mat[j])
	else:
		print(mat[j], end='+')


arr = list(map(int, input().split('+')))
rep = len(arr)
arr.sort()
for i in range(rep):
	if i == 0:
		print(arr[i], end='')
	else:
		print('+', end='')
		print(arr[i], end='')


x = input()
a = []
for v in x.split('+'):
	a.append(v)
a.sort()
print('+'.join(a))


s = input()
l = len(s)
one = 0
two = 0
three = 0
for i in range(0, l, 2):
	if s[i] == '1':
		one = one + 1
	elif s[i] == '2':
		two = two + 1
	elif s[i] == '3':
		three = three + 1
if one != 0:
	print('1+' * (one - 1), '1', sep='', end='')
if one != 0 and (two != 0 or three != 0):
	print('+', sep='', end='')
if two != 0:
	print('2+' * (two - 1), '2', sep='', end='')
if two != 0 and three != 0:
	print('+', sep='', end='')
if three != 0:
	print('3+' * (three - 1), '3', sep='', end='')


s = input()
s = s.replace('+', '')
s = list(s)
s = sorted(s)
print('+'.join((str(i) for i in s)))


def sorter(text):
	a = text.split('+')
	return '+'.join(sorted(a))
print(sorter(input()))


n = input()
q = list(map(int, n.split('+')))
q.sort()
n = len(q)
for i in range(n - 1):
	print(str(q[i]) + '+', end='')
print(q[-1])


def math(s):
	if len(s) <= 100:
		for i in '+'.join(sorted(s)):
			print(i, end='')
math(input().replace('+', ''))


a = input()
i = len(a)
while i > 1:
	a = a.replace(a[i - 2], ' ')
	i = i - 2
c = a.split()
c = sorted(c)
b = '+'.join(c)
print(b)


line = list(map(int, input().split('+')))
temp = sorted(line)
ans = str(temp[0])
for i in temp[1:]:
	ans += '+' + str(i)
print(ans)


a = [int(el) for el in input().split('+')]
for j in range(1, len(a)):
	key = a[j]
	i = j - 1
	while i >= 0 and key < a[i]:
		a[i + 1] = a[i]
		i -= 1
	a[i + 1] = key
print('+'.join([str(el) for el in a]))


s = str(input())
if len(s) > 1:
	s = s.split('+')
	s.sort()
	rez = s[0]
	for i in range(1, len(s)):
		rez = rez + '+' + s[i]
	print(rez)
else:
	print(s)


a = list(map(int, input().split('+')))
b = a.count(1)
c = a.count(2)
d = a.count(3)
k = 0
l = ''
for i in range(b):
	l = l + '1' + '+'
for i in range(c):
	l = l + '2' + '+'
for i in range(d):
	l = l + '3' + '+'
l = l[:len(a) * 2 - 1]
print(l)


def sum(string):
	solution = []
	answer = ''
	for x in string:
		if x.isdigit() == True:
			solution.append(int(x))
	solution.sort()
	for x in solution:
		answer = answer + str(x) + '+'
	return answer[0:-1]
x = input()
print(sum(x))


def re_arrange(expression):
	digits = []
	for num in expression:
		if num != '+' and num != ' ':
			digits.append(num)
	mergeSort(digits)
	result = ''
	for i in range(len(digits) - 1):
		result += digits[i] + '+'
	result += str(digits[len(digits) - 1])
	return result

def mergeSort(aList):
	tmp = [None] * len(aList)
	start = 0
	end = len(aList) - 1
	helperMergeSort(aList, start, end, tmp)
	return aList

def helperMergeSort(aList, start, end, tmp):
	if start < end:
		mid = (start + end) // 2
		helperMergeSort(aList, start, mid, tmp)
		helperMergeSort(aList, mid + 1, end, tmp)
		mergeLists(aList, start, mid, end, tmp)
		for i in range(start, end + 1):
			aList[i] = tmp[i]
	return

def mergeLists(aList, start, mid, end, tmp):
	i = start
	j = mid + 1
	for k in range(start, end + 1):
		if i > mid:
			tmp[k] = aList[j]
			j += 1
		elif j > end:
			tmp[k] = aList[i]
			i += 1
		elif aList[i] <= aList[j]:
			tmp[k] = aList[i]
			i += 1
		else:
			tmp[k] = aList[j]
			j += 1
	return
expression = input()
print(re_arrange(expression))


a = input()
a = a.split('+')
a.sort()
b = []
for i in a:
	b.append(i)
	b.append('+')
c = ''
b.pop()
for i in b:
	c += i
print(c)


word = input()
i = 0
l = len(word)
listt = list()
if l == 1:
	print(word)
	exit()
else:
	while i < l:
		listt.append(word[i])
		i = i + 2
listt.sort()
l2 = len(listt)
i = 1
print(listt[0], sep='', end='')
while i < l2:
	print('+', listt[i], sep='', end='')
	i = i + 1


s = str(input())
l = s.split('+')
print('+'.join(sorted(l)))


npt = list(input())
npt2 = ''
for i in range(len(npt)):
	if i % 2 == 0:
		npt2 += npt[i]
npt2 = sorted(npt2)
for k in range(len(npt2)):
	if k != len(npt2) - 1:
		print(npt2[k], end='')
		print('+', end='')
else:
	print(npt2[k], end='')


s = str(input())
(l1, l2, l3) = ([], [], [])
for i in s:
	if i == '1':
		l1.append(i)
	elif i == '2':
		l2.append(i)
	elif i == '3':
		l3.append(i)
l = l1 + l2 + l3
print('+'.join(l))


s = input()
p = ''
a = s.replace('+', '')
b = sorted(a)
for i in b:
	p = p + i + '+'
print(p.strip('+'))


s = input()
s = ''.join(sorted(s))
s = s.replace('+', '')
a = []
for _ in s:
	a.append(_)
	a.append('+')
a.pop(-1)
a = str(a).replace('[', '').replace(']', '').replace("'", '').replace(',', '').replace(' ', '')
print(a)


string1 = list(map(int, input().split('+')))
n1 = 0
n2 = 0
n3 = 0
for i in string1:
	if i == 1:
		n1 = n1 + 1
	elif i == 2:
		n2 = n2 + 1
	else:
		n3 = n3 + 1
LIST = []
for a in range(n1):
	LIST.append('1')
for b in range(n2):
	LIST.append('2')
for c in range(n3):
	LIST.append('3')
print('+'.join(LIST))


list1 = input().split('+')
list1.sort()
i = 0
for x in list1:
	i += 1
	print(x, end='')
	if i < len(list1):
		print('+', end='')


string = input().split('+')
if len(string) > 1:
	operands = []
	operands = [int(index) for index in string]
	operands.sort()
	operands = [str(x) for x in operands]
	print('+'.join(operands))
else:
	print(*string)


list1 = str(input())
list1 = list1.split('+')
for k in range(len(list1) - 1):
	for i in range(len(list1) - 1):
		if list1[i] > list1[i + 1]:
			aux = list1[i]
			list1[i] = list1[i + 1]
			list1[i + 1] = aux
s = ''
for k in range(len(list1)):
	s += list1[k] + '+'
print(s[:len(s) - 1])


x = input().split('+')
x.sort()
i = 0
for e in x:
	i += 1
	if i != len(x):
		print(e, end='+')
	else:
		print(e, end='')


s = str(input())
ls = s.split('+')
ls.sort()
lm = []
for i in range(len(ls)):
	lm.append(ls[i])
	lm.append('+')
lm.pop(len(s))
print(''.join(lm))


s = list(input())
a = (len(s) + 1) / 2
for i in range(int(a)):
	for k in range(i + 1, int(a)):
		if s[2 * i] > s[2 * k]:
			(s[2 * i], s[2 * k]) = (s[2 * k], s[2 * i])
print(''.join(s))


s = input().split('+')
s.sort()
flag = False
for c in s:
	if flag:
		print('+', end='')
	print(c, end='')
	flag = True


a = [i for i in input()]
b = sorted([int(i) for i in a if i.isdigit()])
b = [str(i) for i in b]
print('+'.join(b))


s = input()
data = []
p = []
for i in range(0, len(s), 2):
	data.append(s[i])
data = sorted(data)
p = data[0]
for i in range(1, len(data)):
	p = p + '+' + data[i]
print(p)


a = input(' ')
l = list(a)
l = l[::2]
l.sort()
d = '+'.join(l)
print(d)


inp = [x for x in input().split('+')]
inp.sort()
print('+'.join(inp))


s = input()
l = [int(x) for x in s.split('+')]
l.sort()
print('+'.join([str(x) for x in l]))


x = list(input())
b = []
for i in range(len(x)):
	if x[i] != '+':
		b.append(int(x[i]))
b.sort()
b = list(map(str, b))
c = ''
for i in range(len(b) - 1):
	c = c + b[i]
	c = c + '+'
c = c + b[-1]
print(c)


problem_statment = '\nA. Helpful Maths\ntime limit per test2 seconds\nmemory limit per test256 megabytes\ninputstandard input\noutputstandard output\nXenia the beginner mathematician is a third year student at elementary school. She is now learning the addition operation.\n\nThe teacher has written down the sum of multiple numbers. Pupils should calculate the sum. To make the calculation easier, the sum only contains numbers 1, 2 and 3. Still, that isn\'t enough for Xenia. She is only beginning to count, so she can calculate a sum only if the summands follow in non-decreasing order. For example, she can\'t calculate sum 1+3+2+1 but she can calculate sums 1+1+2 and 3+3.\n\nYou\'ve got the sum that was written on the board. Rearrange the summans and print the sum in such a way that Xenia can calculate the sum.\n\nInput\nThe first line contains a non-empty string s — the sum Xenia needs to count. String s contains no spaces. It only contains digits and characters "+". Besides, string s is a correct sum of numbers 1, 2 and 3. String s is at most 100 characters long.\n\nOutput\nPrint the new sum that Xenia can count.\n\nExamples\ninputCopy\n3+2+1\noutputCopy\n1+2+3\ninputCopy\n1+1+3+1+3\noutputCopy\n1+1+1+3+3\ninputCopy\n2\noutputCopy\n2\n'
s = input()
if '+' not in s:
	print(s)
else:
	numbers = list(map(int, s.split('+')))
	numbers.sort()
	numbers = map(str, numbers)
	print('+'.join(numbers))


x = input()
s = []
javab = ''
for i in range(0, len(x), 2):
	s.append(int(x[i]))
for j in range(len(s) - 1):
	for i in range(len(s) - 1 - j):
		if s[i] > s[i + 1]:
			(s[i], s[i + 1]) = (s[i + 1], s[i])
for i in range(len(s) - 1):
	javab = javab + str(s[i]) + '+'
javab = javab + str(s[-1])
print(javab)


s = input()
l = []
t = 0
t2 = 0
n = 1
for i in range(0, len(s), 2):
	l.append(s[i])
while n < len(l):
	for i in range(len(l) - n):
		if l[i] > l[i + 1]:
			(l[i], l[i + 1]) = (l[i + 1], l[i])
	n += 1
for i in range(len(l) - 1):
	print(l[i], end='+')
print(l[len(l) - 1])


import math
L = lambda : list(map(int, input().split()))
M = lambda : map(int, input().split())
I = lambda : int(input())
IN = lambda : input()

def s(a):
	print('+'.join(list(map(str, a))))
a = IN()
x = [int(a[i]) for i in range(0, len(a), 2)]
x.sort()
s(x)


s = list(input())
for x in range(s.count('+')):
	s.remove('+')
s = sorted(s)
for x in range(len(s)):
	s[x] += '+'
st = ''
for x in s:
	st += x
print(st[:-1])


l1 = sorted(list(map(int, input().split('+'))))
if len(l1) == 1:
	print(*l1)
else:
	ac = ['+'] * (len(l1) - 1)
	al = list(zip(l1, ac))
	al1 = []
	for i in range(len(al)):
		for j in al[i]:
			j = str(j)
			al1.append(j)
	al1.append(str(l1[-1]))
	print(str(''.join(al1)))


operacion = input()
operacion = operacion.split('+')
newop = list(operacion)
newop.sort()
newStr = ''
for i in range(0, len(newop)):
	if i == len(newop) - 1:
		newStr = newStr + newop[i]
	else:
		newStr = newStr + newop[i] + '+'
print(newStr)


a = list(map(str, input().strip()))
a.sort()
b = a[len(a) // 2:]
c = ''
for i in b:
	c += i
	c += '+'
print(c[0:len(c) - 1])


s = input()
l = list(s)
res = ''
a = len(s) // 2
l.sort()
while len(res) != len(s):
	res += l[a]
	if len(res) == len(s):
		break
	res += '+'
	a += 1
print(res)


n = input().split('+')
arr = []
arr_2 = []
cnt = 0
for i in n:
	arr.append(int(i))
arr.sort()
for i in arr:
	arr_2.append(str(i))
print('+'.join(arr_2))


n = input()
for i in n:
	if i == '+':
		n = n.replace(i, '')
disp = []
for i in n:
	disp.append(i)
disp.sort()
temp = '+'.join(map(str, disp))
print(temp)


from random import randint

def quick_sort(array):
	if len(array) < 2:
		return array
	else:
		pivot_index = randint(0, len(array) - 1)
		pivot = array.pop(pivot_index)
		smaller_array = [i for i in array if i <= pivot]
		larger_array = [i for i in array if i > pivot]
		return quick_sort(smaller_array) + [pivot] + quick_sort(larger_array)
array = list(map(int, input().split('+')))
array = quick_sort(array)
output_string = '+'.join((str(x) for x in array))
print(output_string)


inputs = [int(a) for a in input().strip().split('+')]
inputs.sort()
print(*inputs, sep='+')


List = []
string = input()
for letter in string:
	if letter != '+':
		List.append(letter)
List.sort()
print('+'.join(List))


s = input()
a = []
s1 = str()
for i in s:
	if i == '+':
		del i
	else:
		a.append(i)
a.sort()
for i in a:
	s1 = s1 + str(i) + '+'
print(s1[:-1])


import sys
x = input()
m = ''.join(sorted(x))
p = 1
if int(len(m)) != 1:
	n = m.count('+')
	m = list(m)
	for i in range(0, int(len(m))):
		if i % 2 == 0:
			m.insert(i, m[n])
			n += 1
			m.pop(n)
	k = ''.join(m)
else:
	k = m
print(str(k))


z = input()
p = (len(z) + 1) // 2
x = []
for q in range(0, len(z), 2):
	x.append(z[q])
c = x.sort()
v = ''
for q in x:
	v = v + q + '+'
print(v[0:-1])


s = input()
a = s.replace('+', '')
b = sorted(a)
for i in range(len(b)):
	print(b[i], end='')
	if i != len(b) - 1:
		print('+', end='')


a = list(map(int, input().split('+')))
x = 1
po = ''
while x:
	x = 0
	for i in range(1, len(a)):
		if a[i - 1] > a[i]:
			(a[i - 1], a[i]) = (a[i], a[i - 1])
			x = 1
po = str(a[0])
for i in range(1, len(a)):
	po += '+' + str(a[i])
print(po)


l = list(map(int, input().split('+')))
l.sort()
s = ''
for v in l:
	s = s + str(v) + '+'
if s[-1] == '+':
	print(s[:-1])
else:
	print(s)


def solve(s):
	ns = s.split('+')
	ns = list(map(int, ns))
	ns.sort()
	s = ''
	for i in range(len(ns)):
		if i == len(ns) - 1:
			s += str(ns[i])
		else:
			s += str(ns[i]) + '+'
	return s

def main():
	s = input()
	print(solve(s))
main()


a = input()
z = list(a[0::2])
a = sorted(z)
print('+'.join(a))


i = input()
inp = i.split('+')
inp.sort()
l = len(inp)
out = ''
for i in range(l):
	out += str(ord(inp[i]) - 48)
	if i != l - 1:
		out += '+'
print(out)


a = list(input())
n = len(a)
a1 = 0
a2 = 0
a3 = 0
for i in range(0, n):
	if a[i] == '1':
		a1 += 1
	elif a[i] == '2':
		a2 += 1
	elif a[i] == '3':
		a3 += 1
b = []
for i in range(0, a1 + a2 + a3):
	if i in range(0, a1):
		b += '1'
	elif i in range(a1, a1 + a2):
		b += '2'
	else:
		b += '3'
print('+'.join(b))


def quick_sort(a):
	if len(a) <= 1:
		return a
	mid = len(a) // 2
	R = []
	L = []
	M = []
	for num in a:
		if num > a[mid]:
			R += [num]
		elif num < a[mid]:
			L += [num]
		else:
			M += [num]
	return quick_sort(L) + M + quick_sort(R)
a = []
a += [int(n) for n in input().split('+')]
a = quick_sort(a)
print(*a, sep='+')


s = input()
d = {}
s1 = ''
d['+'] = 0
for i in s:
	d.setdefault(i, 0)
	d[i] += 1
for i in sorted(d.keys()):
	if i == '+':
		continue
	else:
		while True:
			if d[i] == 0:
				break
			s1 += i
			if d['+'] > 0:
				s1 += '+'
				d['+'] -= 1
			d[i] -= 1
print(s1)


before = input()
before_2 = before.replace('+', ' ')
before_3 = before_2.split()
before_5 = sorted(before_3)
output = ''
for before_index in range(len(before_5)):
	output = output + before_5[before_index]
	if before_index != len(before_5) - 1:
		output = output + '+'
print(output)


s = input()
f = 4 * [0]
y = ''
for i in range(0, len(s), 2):
	f[int(s[i])] += 1
for i in range(1, 4):
	x = int(f[i])
	while x > 0:
		y += str(i)
		x -= 1
print('+'.join(y))


import math

def merge_sort(x):
	if len(x) == 1:
		return x
	left = []
	right = []
	for i in range(0, len(x)):
		if i < len(x) / 2:
			left.append(x[i])
		else:
			right.append(x[i])
	left = merge_sort(left)
	right = merge_sort(right)
	return merge(left, right)

def merge(left, right):
	sol = []
	while len(left) > 0 and len(right) > 0:
		if left[0] <= right[0]:
			sol.append(left[0])
			left = left[1:]
		else:
			sol.append(right[0])
			right = right[1:]
	while len(left) > 0:
		sol.append(left[0])
		left = left[1:]
	while len(right) > 0:
		sol.append(right[0])
		right = right[1:]
	return sol
string = input()
numberstring = []
for i in range(0, math.ceil(len(string) / 2)):
	numberstring.append(int(string[2 * i]))
sort = merge_sort(numberstring)
sol = str(sort[0])
for i in range(1, len(sort)):
	sol = sol + '+' + str(sort[i])
print(sol)


sum = input()
numbers = sum.split('+')
for i in range(len(numbers)):
	numbers[i] = int(numbers[i])
numbers.sort()
str1 = ''.join((str(e) + '+' for e in numbers))
print(str1[:-1])


istring = input()
if len(istring) == 1:
	print(istring)
else:
	newistring = istring.replace('+', '')
	count1 = 0
	count2 = 0
	count3 = 0
	for number in newistring:
		if number == '3':
			count3 += 1
		elif number == '2':
			count2 += 1
		elif number == '1':
			count1 += 1
	finalstringlist = list()
	while count1 != 0:
		finalstringlist.append('+1')
		count1 -= 1
	while count2 != 0:
		finalstringlist.append('+2')
		count2 -= 1
	while count3 != 0:
		finalstringlist.append('+3')
		count3 -= 1
	finalstring = ''.join(finalstringlist)
	ans = finalstring.replace('+', '', 1)
	print(ans)


l = input().split('+')
l.sort()
print(*l, sep='+')


a = input()
result = []
equation = a.split('+')
equation.sort()
for i in range(len(equation)):
	result.append(equation[i])
	result.append('+')
result.pop()

def listToString(s):
	str1 = ''
	for i in s:
		str1 += i
	return str1
print(listToString(result))


cad = input()
numbers = cad.split('+')
c = [0, 0, 0]
for i in numbers:
	if i == '1':
		c[0] += 1
	elif i == '2':
		c[1] += 1
	else:
		c[2] += 1
ans = ''
for i in range(len(c)):
	n = i + 1
	for j in range(c[i]):
		ans += str(n) + '+'
ans = ans[0:len(ans) - 1]
print(ans)


a = sorted([int(i) for i in input().split('+')])
print(a[0], end='')
for i in range(1, len(a)):
	print('+', end='')
	print(a[i], end='')


s = list(input())
my_list = []
x = len(s)
for i in range(x):
	if s[i].isdigit():
		my_list.append(int(s[i]))
my_list.sort()
my_list = my_list[::-1]
for i in range(x):
	if s[i].isdigit():
		print(my_list[len(my_list) - 1], end='')
		my_list.pop()
	else:
		print(s[i], end='')


import sys
try:
	sys.stdin = open('inputs.txt', 'r')
	sys.stdout = open('output.txt', 'w')
except:
	pass
finally:
	input = sys.stdin.readline
	print = sys.stdout.write
q = list(map(int, input().split('+')))
count = [0] * 3
for num in q:
	count[num - 1] += 1
new_q = [str(i + 1) for (i, j) in enumerate(count) for _ in range(j)]
print('+'.join(new_q))


s = input()
l = list(s)
l.sort()
r = ''
for n in range(len(l) // 2):
	l.remove('+')
for t in range(len(l)):
	if t != len(l) - 1:
		r = r + l[t] + '+'
	else:
		r = r + l[t]
print(r)


str = input()
str.strip()
if len(str) <= 100:
	digits = str.split(sep='+')
	digits.sort()
	new_str = digits[0]
	for i in range(1, len(digits)):
		new_str = new_str + '+' + digits[i]
print(new_str)


rj = ''
string = input()
string = string.replace('+', '')
lista = sorted(string)
for i in range(0, len(lista) - 1):
	rj += lista[i] + '+'
rj += lista[len(lista) - 1]
print(rj)


s = input()
ans = '+'.join(sorted([i for i in s.split('+')]))
print(ans)


s = map(int, input().split('+'))
s = list(s)
m = []

def mn(list):
	minn = list[0]
	for i in list:
		if minn > i:
			minn = i
	return minn
while len(s) > 0:
	m.append(mn(s))
	del s[s.index(mn(s))]
print(*m, sep='+')


s = input()
a = 0
a2 = 0
a3 = 0
for i in range(0, len(s)):
	if s[i] == '1':
		a += 1
	if s[i] == '2':
		a2 += 1
	if s[i] == '3':
		a3 += 1
k = a + a2 + a3
for i in range(0, k):
	if i < a:
		if i == k - 1:
			(print('1', end=''),)
		else:
			(print('1+', end=''),)
	elif i < a + a2:
		if i == k - 1:
			(print('2', end=''),)
		else:
			(print('2+', end=''),)
	elif i == k - 1:
		(print('3', end=''),)
	else:
		(print('3+', end=''),)


s = [char for char in input()]
q = []
for i in range(len(s)):
	if i % 2 == 0:
		q.append(int(s[i]))
while len(q) > 1:
	print(min(q), end='+')
	q.remove(min(q))
print(min(q))


s = input()
ls = []
for i in s:
	if i == '+':
		continue
	else:
		ls.append(i)
ls.sort()
s = ''
for i in ls:
	s = s + i + '+'
print(s[:len(s) - 1])


s = input()
s1 = s.split('+')
s2 = sorted(s1)
print('+'.join(s2))


s = input().lower()
nums = s.split('+')
nums = sorted(nums)
out = ''
out += nums[0]
for i in range(1, len(nums)):
	out += '+' + nums[i]
print(out)


n = input()
l = len(n)
a = []
j = 0
for i in range(l):
	if i % 2 == 0:
		a.insert(j, n[i])
		j = j + 1
a.sort()
for j in range(len(a) - 1):
	print(a[j], end='+')
print(a[len(a) - 1])


from sys import stdin
nums = [int(n) for n in stdin.readline().strip().split('+')]
nums.sort()
res = '+'.join([str(n) for n in nums])
print(res)


x = list(map(str, input().split('+')))
x.sort()
s = '+'.join(x)
print(s)


w = '0'
ref = ''
s = input()
num = s.split('+')
num.sort()
for item in num:
	ref += item
	w += '+%s' % item
w = w.replace(w[0:2], '')
print(w)


list = input()
if len(list) == 1:
	print(list)
else:
	list1 = list.split('+')
	list1.sort()
	print(list1[0], end='')
	for i in range(1, len(list1)):
		print('+', list1[i], sep='', end='')


s = input()
s = sorted(s)
k = s.count('+')
l = s[k:]
print('+'.join(l))


s = input()
n = len(s)
x = []
y = []
z = []
l = []
str = ''
for i in range(0, n, 2):
	x.append(s[i])
for i in range(1, n - 1, 2):
	y.append(s[i])
for i in range(0, len(x)):
	for j in range(i + 1, len(x)):
		if x[i] > x[j]:
			(x[i], x[j]) = (x[j], x[i])
for i in range(0, len(x)):
	l.append(x[i] + '+')
for i in l:
	str += i
for i in range(0, len(str) - 1):
	print(str[i], end='')


s = input()
ans = []
if len(s) == 1:
	print(s)
else:
	for elt in s:
		if elt in '123':
			ans.append(elt)
	ans.sort()
	res = ans[0]
	for i in range(1, len(ans) - 1):
		res += '+' + ans[i]
	res += '+' + ans[-1]
	print(res)


numbers = list(map(int, input().split('+')))
numbers.sort()
result = ''
for i in range(len(numbers)):
	if i != len(numbers) - 1:
		result += str(numbers[i]) + '+'
	else:
		result += str(numbers[i])
print(result)


A = [str(i) for i in input().split('+')]
print('+'.join(sorted(A)))


from sys import stdin
a = list(map(int, stdin.readline().split('+')))
a.sort()
print('+'.join((str(x) for x in a)))


def isadigit(string):
	lst = []
	for i in range(0, len(string)):
		if string[i].isdigit():
			lst.append(string[i])
	return lst

def sort(lst):
	for i in range(0, len(lst) - 1):
		for j in range(i + 1, len(lst)):
			if lst[i] > lst[j]:
				temp = lst[i]
				lst[i] = lst[j]
				lst[j] = temp
	return lst
string = input()
list_of_num = isadigit(string)
list_of_num = sort(list_of_num)
print('+'.join(list_of_num))


def easyMath(plusString):
	oneTwoThree = [0, 0, 0, 0]
	charPos = 0
	while charPos < len(plusString):
		try:
			char = int(plusString[charPos])
			oneTwoThree[char] += 1
			charPos += 2
		except:
			charPos += 1
	outputString = ''
	pos = 1
	while pos < len(oneTwoThree):
		while oneTwoThree[pos] > 0:
			outputString += str(pos) + '+'
			oneTwoThree[pos] -= 1
		pos += 1
	outputString = outputString[:-1]
	return outputString
print(easyMath(input()))


s = input()
s = s.split('+')
s.sort()
final = ''
for i in range(len(s)):
	final += s[i]
	if not i == len(s) - 1:
		final += '+'
print(final)


x = input().split('+')
lst = list()
for i in x:
	lst.append(int(i))
lst.sort()
str1 = ''
for j in lst:
	str1 = str1 + str(j) + '+'
print(str1[:-1])


nums = [i for i in input().split('+')]
nums.sort()
k = ''
extra = 0
n = len(nums)
for i in range(2 * n - 1):
	if i % 2 == 0:
		k += nums[i // 2]
	else:
		k += '+'
print(k)


s = input()
s1 = []
s2 = ''
for i in range(0, len(s)):
	if i % 2 == 0:
		s1.append(s[i])
s1.sort()
for j in range(0, len(s1)):
	s2 = s2 + s1[j]
	if j != len(s1) - 1:
		s2 = s2 + '+'
print(s2)


s = input()
res = ''.join(sorted(s))
s1 = ''
n = len(s)
for i in range(n // 2, n):
	if i != n - 1:
		s1 = s1 + res[i] + '+'
	else:
		s1 = s1 + res[i]
print(s1)


st = input()
st = st.split('+')
l_st = sorted([int(st) for st in st])
ls_st = [str(st) for st in l_st]
print('+'.join(ls_st))


seq = input()
seq = seq.split('+')
seq.sort()
str = ''
for i in seq:
	str = str + i + '+'
str = str[:-1]
print(str)


import math

def main():
	l = input()
	l = list(map(str, l.split('+')))
	l.sort()
	print('+'.join(l))
main()


a = input()
b = a.split('+')
c = sorted(b)
for i in range(len(c)):
	if i != len(c) - 1:
		print(c[i], '+', end='', sep='')
	else:
		print(c[i], end='', sep='')


s1 = input()
lst = []
for i in range(0, len(s1), 2):
	lst.append(s1[i])
lst.sort()
index = 0
for i in range(len(s1)):
	if i % 2 == 0:
		print(lst[index], end='')
		index += 1
	else:
		print('+', end='')


s = input().split('+')
s = list(s)
l = len(s)
s.sort()
c = ''
for i in s:
	c = c + i + '+'
print(c[:-1])


def helpful(s):
	l = s.split('+')
	ns = ''
	for i in sorted(l):
		ns += i + '+'
	ns = ns[:-1]
	return ns
s = input()
print(helpful(s))


L = input()
P = sorted(L[::2])
print('+'.join(P))


s1 = input()
s1 = s1.split('+')
s1.sort()
s2 = s1
a = len(s2) - 1
for i in range(a + 1):
	print(s2[i], end='')
	if i != a:
		print('+', end='')


su = input()
summ = ''
for i in range(0, len(su), 2):
	summ = summ + su[i]
	summm = sorted(summ)
print('+'.join(summm))


s = list(input())
my_list = []
x = len(s)
i = 0
while i < x:
	if s[i].isdigit():
		my_list.append(int(s[i]))
	i += 1
my_list.sort()
g = 0
i = 0
while i < x:
	if s[i].isdigit():
		print(my_list[g], end='')
		g += 1
	else:
		print(s[i], end='')
	i += 1


s = list(map(int, input().rstrip().split('+')))
o = s.count(1)
tw = s.count(2)
th = s.count(3)
ns = ''
ns += '1+' * o
if tw == 0 and th == 0:
	ns = ns[:-1]
	print(''.join(ns))
	exit()
ns += '2+' * tw
if th == 0:
	ns = ns[:-1]
	print(''.join(ns))
	exit()
ns += '3+' * th
print(''.join(ns[:-1]))


s = list(input())
l = []
for i in range(0, len(s), 2):
	l.append(s[i])
l.sort()
j = 0
for i in range(len(l)):
	s[j] = l[i]
	j += 2
print(*s, sep='')


def helpful_math():
	return '+'.join(sorted(s))
s = list(input().split('+'))
print(helpful_math())


s = input()
s = list(s)
for val in s:
	if val == '+':
		s.remove(val)
s1 = []
for val in s:
	val = int(val)
	s1.append(val)
s1 = sorted(s1)
s2 = []
for val in s1:
	val = str(val)
	s2.append(val)
res = '+'.join(s2)
print(res)


s = input()
a = ['1'] * s.count('1') + ['2'] * s.count('2') + ['3'] * s.count('3')
print('+'.join(a))


s = input()
L = list(s.split('+'))
L.sort()
x = '+'.join(L)
print(x)


x = input()
out = ''
x = x.split('+')
ones = x.count('1')
twos = x.count('2')
three = x.count('3')
out = '1+' * ones + '2+' * twos + '3+' * three
out = out[:-1]
print(out)


a = list(map(int, input().split('+')))
for j in range(0, len(a)):
	for i in range(0, len(a) - 1):
		if a[i] > a[i + 1]:
			s = a[i + 1]
			a[i + 1] = a[i]
			a[i] = s
for k in range(0, len(a) - 1):
	print(a[k], '+', sep='', end='')
print(a[len(a) - 1])


s = str(input())
l = list(s)
l = [x for x in l if x != '+']
results = list(map(int, l))
results.sort()
results = [str(y) + '+' for y in results]
results = ''.join(results)
print(results[0:-1])


string = input()
arr = list(map(int, string.split('+')))
arr.sort()
for i in range(len(arr) - 1):
	print(arr[i], '+', sep='', end='')
print(arr[len(arr) - 1])


import sys
input = sys.stdin.readline

def int_array():
	return list(map(int, input().split()))
s = input().strip()
s = s.replace('+', '')
arr = list(s)
arr.sort()
arr = '+'.join(arr)
print(arr)


n = input()
a = []
for _ in range(0, len(n), 2):
	a.append(n[_])
a.sort()
x = ''
for i in a:
	x += i + '+'
print(x[:-1])


s = input()
s1 = s.replace('+', '')
s2 = sorted(s1)
s3 = ''
for i in range(len(s2) - 1):
	s3 = s3 + s2[i] + '+'
s3 = s3 + s2[-1]
print(s3)


s = input().split('+')
s = sorted(s)
print(s[0], end='')
for i in s[1:]:
	print('+' + i, end='')


s = [int(x) for x in input().split('+')]
for i in range(len(s)):
	smallest = s[i]
	for j in range(i + 1, len(s)):
		if s[j] < smallest:
			smallest = s[j]
			swap = s[i]
			s[i] = s[j]
			s[j] = swap
print('+'.join([str(x) for x in s]))


import sys
from sys import stdin, stdout
import math
import random
import heapq
from collections import Counter
from functools import lru_cache
try:
	for _ in range(1):
		s = list(input().split('+'))
		s.sort()
		for i in range(len(s)):
			print(s[i], end='')
			if i != len(s) - 1:
				print('+', end='')
except EOFError as e:
	print(e)


data = input()
data = data.split('+')
data.sort()
output = ''
for i in range(len(data) - 1):
	output += data[i] + '+'
output += data[-1]
print(output)


lst = list(map(int, input().split('+')))
sorted_lst = sorted(lst)
h = ''
for i in range(0, len(sorted_lst)):
	if i != len(sorted_lst) - 1:
		h += str(sorted_lst[i]) + '+'
	else:
		h += str(sorted_lst[i])
print(h)


def bla(s):
	l = []
	if len(s) == 1:
		print(s)
	else:
		for i in range(0, len(s), 2):
			l.append(s[i])
		c1 = l.count('1')
		c2 = l.count('2')
		c3 = l.count('3')
		if c1 != 0:
			for i in range(0, c1 - 1):
				print('1+', end='')
			print('1', end='')
		if c2 != 0:
			if c1 != 0:
				print('+', end='')
			for j in range(0, c2 - 1):
				print('2+', end='')
			print('2', end='')
		if c3 != 0:
			if c1 != 0 or c2 != 0:
				print('+', end='')
			for k in range(0, c3 - 1):
				print('3+', end='')
			print('3')
s = input()
bla(s)


usr_in = input()
a = usr_in.replace('+', '')
lst = []
for x in range(len(a)):
	lst.append(a[x])
new_lst = sorted(lst)
b = '+'.join(new_lst)
print(b)


addword = input()
new = ''
l = []
l = addword.split('+')
l.sort()
for a in range(len(l)):
	if a != len(l) - 1:
		new = new + l[a] + '+'
	else:
		new = new + l[a]
print(new)


a = input()
List = a.split('+')
List.sort()
print('+'.join(List))


a = input()
s = []
for i in a:
	if i == '+':
		continue
	s.append(i)
s.sort()
print('+'.join(s))


def xeniaVersion(exp):
	return '+'.join(sorted([i for i in exp.split('+')]))
print(xeniaVersion(input()))


nums = [int(j) for j in input().split('+')]
nums.sort()
for i in range(len(nums)):
	if i == len(nums) - 1:
		print(nums[i])
	else:
		print(nums[i], end='+')


n = input()
if len(n) == 1:
	print(n)
else:
	lista = n.split('+', len(n))
	lista.sort()
	i = 1
	string1 = lista[0]
	while i < len(lista):
		string1 += '+' + lista[i]
		i += 1
	print(string1)


a = input().split('+')
ls = []
for items in a:
	ls.append(int(items))
ls.sort()
s = str(ls[0])
for items in range(1, len(ls)):
	s = s + '+' + str(ls[items])
print(s)


equation = input()
splitado = equation.split('+')
inteiros = list(map(int, splitado))
inteiros.sort()
final = '+'.join(map(str, inteiros))
print(final)


op = list(map(int, input().split('+')))
op.sort()
d = [str(i) for i in op]
print('+'.join(d))


numbers = list(map(int, input().split('+')))
a = 0
b = 0
c = 0
for i in range(0, len(numbers)):
	if numbers[i] == 1:
		a = a + 1
	elif numbers[i] == 2:
		b = b + 1
	elif numbers[i] == 3:
		c = c + 1
print((a * '1+' + b * '2+' + c * '3+')[:-1])


s = input()
j = 0
c = []
y = []
x = len(s)
for i in range(0, x, 2):
	c.append(s[i])
	j = j + 1
y = sorted(c)
for k in range(0, len(y)):
	print(y[k], end='')
	if k != len(y) - 1:
		print('+', end='')


str = input()
list = list(str[::2])
list.sort()
print('+'.join(list))


parsing = input()

def sort_by_num(el):
	return int(el)
parsing = parsing.split('+')
parsing.sort()
print('+'.join(parsing))


word = input().split('+')
word.sort(key=int)
print(word[0], end='')
for i in range(1, len(word)):
	print('+{}'.format(word[i]), end='')
print('')


a = input().strip().split('+')
a.sort()
print('+'.join(a))


s = input('')
l = list(s)
k = []
r = ''
p = ''
l.sort()
for i in range(0, len(s)):
	if l[i] != '+':
		k.append(l[i])
for i in range(0, len(k)):
	r = str(k[i]) + '+' + r
p = r[:-1]
print(p[::-1])


s = sorted(input().replace('+', ''))
p = ['+' for i in range(len(s) - 1)]
res = ''
for (c, pp) in zip(s, p):
	res += c + pp
print(res + s[-1])


line = input()
nums = line.split('+')
nums = [int(i) for i in nums]
nums.sort()
temp = ''
for i in nums:
	temp += str(i) + '+'
print(temp[:-1])


s = str(input())
s = list(s)
sl = []
for i in range(0, len(s), 2):
	sl.append(s[i])
sl = sorted(sl)
print('+'.join(sl))


n = str(input())
s = []
for i in range(0, len(n), 2):
	s += n[i]
	m = sorted(s)
print('+'.join(m))


st = input()
lst = []
for i in st:
	if i != '+':
		lst.append(i)
lst.sort()
res = []
for i in lst:
	res.append(i)
	res.append('+')
for i in range(len(st)):
	print(res[i], end='')


nums = input().replace('+', '')
arr = []
ans = ''
arr = sorted(nums)
n = 0
while n < len(arr):
	if len(arr) == 1:
		print(arr[0])
		break
	elif n == len(arr) - 1:
		ans += arr[n]
		n += 1
	else:
		ans += arr[n] + '+'
		n += 1
print(ans)


s = input()
s = list(s)
for i in range(0, len(s), 2):
	for j in range(i + 2, len(s), 2):
		a = int(s[i])
		b = int(s[j])
		if a > b:
			temp = s[i]
			s[i] = s[j]
			s[j] = temp
for i in s:
	print(i, end='')


s = input()
li = s.split('+')
s = ''
li.sort()
for i in range(len(li) - 1):
	s += li[i] + '+'
s += li[len(li) - 1]
print(s)


s = input()
a = list(map(int, s.split('+')))
a.sort()
ans = ''
for i in range(len(a)):
	if i > 0:
		ans += '+'
	ans += str(a[i])
print(ans)


l = sorted([i for i in input() if i != '+'])
print(*l, sep='+')


data = list(input())
original = data
for i in data:
	if i == '+':
		data.remove(i)
data.sort()
x = len(data) - 1
if len(data) == 1:
	data = data
else:
	for i in range(0, 2 * x, 2):
		data.insert(i + 1, '+')
for i in data:
	print(i, end='')


def arrange(s):
	if '+' not in s:
		return s
	nums = list(map(int, s.split('+')))
	nums.sort()
	seperator = '+'
	return seperator.join((str(num) for num in nums))
s = input()
print(arrange(s))


word = input()
ones = 0
twos = 0
thres = 0
l = len(word)
for i in range(l):
	if word[i] == '1':
		ones = ones + 1
	elif word[i] == '2':
		twos = twos + 1
	elif word[i] == '3':
		thres = thres + 1
result = '1+' * ones + '2+' * twos + '3+' * thres
print(result[:-1])


a = input()
b = []
for char in a:
	if char != '+':
		b.append(char)
c = sorted(b)
print('+'.join(c))


a = input()
n1 = a.count('1')
n2 = a.count('2')
n3 = a.count('3')
s1 = 0
s2 = 0
s3 = 0
s = ''
while s1 < n1:
	s = s + '1+'
	s1 = s1 + 1
while s2 < n2:
	s = s + '2+'
	s2 = s2 + 1
while s3 < n3:
	s = s + '3+'
	s3 = s3 + 1
s = s[:-1]
print(s)


from sys import stdin
s = stdin.readline()
i = 0
a = []
b = []
p = 0
for i in range(0, len(s), 2):
	a.append(s[i])
	p += 1
a.sort()
j = 0
for j in range(len(a)):
	b.append(a[j])
	b.append('+')
print(''.join(b[:len(b) - 1]))


n = input()
li = []
if '+' in n:
	li = n.split('+')
	print('+'.join(sorted(li)))
else:
	print(n)


ones = 0
twos = 0
threes = 0
expression = input()
for exp in expression.split('+'):
	if exp == '1':
		ones = ones + 1
	elif exp == '2':
		twos = twos + 1
	elif exp == '3':
		threes = threes + 1
sortedList = []
for i in range(ones):
	sortedList.append('1')
for i in range(twos):
	sortedList.append('2')
for i in range(threes):
	sortedList.append('3')
print('+'.join(sortedList))


s = list(input().split('+'))
s.sort()
st = ''.join(s[0])
for i in range(1, len(s)):
	st = st + '+' + s[i]
print(st)


print('+'.join(map(str, sorted(map(int, input().rstrip().split('+'))))))


s = str(input())
sum = 0
a = []
for i in range(len(s) + 1):
	if i % 2 == 0:
		a += s[i]
a.sort()
for i in range(len(s)):
	if i % 2 != 0:
		a.insert(i, '+')
	print(a[i], end='')


t = list(map(int, input().split('+')))
t.sort()
l = []
for i in t:
	l.append(str(i))
print('+'.join(l))


def merge_sort(int_list, length):
	if length == 0:
		return []
	if length == 1:
		return [int_list[0]]
	res = []
	len_1 = length // 2
	len_2 = length - len_1
	left = merge_sort(int_list[:len_1], len_1)
	right = merge_sort(int_list[len_1:], len_2)
	i_left = 0
	i_right = 0
	while i_left < len_1 and i_right < len_2:
		while i_left < len_1 and i_right < len_2 and (left[i_left] <= right[i_right]):
			res.append(left[i_left])
			i_left += 1
		while i_right < len_2 and i_left < len_1 and (right[i_right] <= left[i_left]):
			res.append(right[i_right])
			i_right += 1
	if i_left == len_1:
		res.extend(right[i_right:])
	else:
		res.extend(left[i_left:])
	return res
op = '+'
string = input()
if string == '':
	print()
	exit(0)
numbers = [int(i) for i in string.split(op)]
res_list = merge_sort(numbers, len(numbers))
res_str = ''
for res in res_list:
	res_str += str(res) + op
res_str = res_str[:-1]
print(res_str)


A = input()
i = 0
f = 1
M = []
while len(A) > i:
	M.append(A[i])
	i += 2
M.sort()
while len(A) > f:
	M.insert(f, '+')
	f += 2
for x in M:
	print(x, end='')


s = input().split('+')
s = sorted(s)
n = len(s)
k = 0
for i in s:
	k += 1
	if k != n:
		print(int(i), end='+')
	else:
		print(int(i))


s = list(input())
n = len(s)
numbers = []
for i in range(0, n, 2):
	numbers.append(s[i])
numbers.sort()
print(numbers[0], end='')
for j in range(1, len(numbers), 1):
	print('+' + numbers[j], end='')


a = list(input())
h = []
while '+' in a:
	a.remove('+')
a.sort()
for i in range(len(a)):
	if i == len(a) - 1:
		h.append(a[i])
	else:
		a[i] = a[i] + '+'
		h.append(a[i])
for i in h:
	print(i, end='')


word = sorted(input())
k = ''
for i in word[:-1]:
	if i != '+':
		k = k + i + '+'
print(k + word[-1])


def maths(string):
	if len(string) <= 100:
		new = ''
		for i in range(0, len(string)):
			if string[i] != '+':
				new = new + string[i]
		newLST = list(map(int, new))
		newLST.sort()
		final = ''
		for i in range(0, len(newLST)):
			final += str(newLST[i])
			final += '+'
		return final[0:len(final) - 1]
	else:
		return
string = input()
print(maths(string))


i = input()
res = ''
i = i.split(sep='+')
i.sort()
for x in i:
	res += x + '+'
if len(i) != 1:
	print(res[0:len(res) - 1])
else:
	print(i[0])


input_str = input()
count_plus = input_str.count('+')
count_one = input_str.count('1')
count_two = input_str.count('2')
count_three = input_str.count('3')
out = ''
for i in range(count_one):
	out += '1'
	if count_plus:
		out += '+'
		count_plus -= 1
for i in range(count_two):
	out += '2'
	if count_plus:
		out += '+'
		count_plus -= 1
for i in range(count_three):
	out += '3'
	if count_plus:
		out += '+'
		count_plus -= 1
print(out)


import sys
import math
s = input().replace('+', '')
s = sorted(s)
for i in range(len(s)):
	if i >= 1:
		print('+' + s[i], end='')
	else:
		print(s[i], end='')


k = input()[::2]
k = sorted(k)
print('+'.join(k))


s = list(input())
while '+' in s:
	s.remove('+')
print('+'.join(sorted(s)))


x = input()
l = list(x)
sign = l[1::2]
num = l[::2]
num.sort()
l.sort()
for i in range(len(num)):
	print('{}'.format(num[i]), end='')
	if i != len(sign):
		print(sign[i], end='')


s = input()
n = len(s)
lst = []
for i in range(0, n, 2):
	lst.append(s[i])
p = len(lst)
lst.sort()
q = ''
for i in lst:
	q = q + str(i) + '+'
n = len(q)
print(q[0:n - 1])


s = input()
try:
	lst = s.split('+')
	lst = sorted(lst, key=lambda x: int(x))
	s = '+'.join(lst)
	print(s)
except Exception:
	print(s)


a = input().strip()
b = ''
for i in a:
	if i == '+':
		continue
	else:
		b += i
d = sorted(list(b))
c = ''
for j in d:
	c += j + '+'
print(c[:-1])


str1 = input()
str1_list = list(str1)
lenth = len(str1)
ones = 0
twoes = 0
threes = 0
for i in range(lenth):
	if str1[i] == '1':
		ones = ones + 1
	if str1[i] == '2':
		twoes = twoes + 1
	if str1[i] == '3':
		threes = threes + 1
if ones > 0:
	for _ in range(ones - 1):
		print('1', '+', sep='', end='')
	if twoes > 0 or threes > 0:
		print('1', '+', sep='', end='')
	else:
		print('1')
if twoes > 0:
	for _ in range(twoes - 1):
		print('2', '+', sep='', end='')
	if threes > 0:
		print('2', '+', sep='', end='')
	else:
		print('2')
if threes > 0:
	for _ in range(threes - 1):
		print('3', '+', sep='', end='')
	print('3')


string = input()
lst = []
for i in string:
	if i == '1' or i == '2' or i == '3':
		lst.append(i)
lst.sort()
a = lst
n = len(a)
for j in range(n):
	if j == n - 1:
		print(a[j], end='')
	else:
		print(a[j] + '+', end='')


inp = input()
numbers = []
numbers = inp.split('+')
oneUsed = 0
twoUsed = 0
threeUsed = 0
for i in range(len(numbers)):
	if numbers[i] == '1':
		oneUsed += 1
	elif numbers[i] == '2':
		twoUsed += 1
	else:
		threeUsed += 1
result = ''
for i in range(oneUsed):
	result = result + '1+'
for i in range(twoUsed):
	result = result + '2+'
for i in range(threeUsed):
	result = result + '3+'
result = result[:-1]
print(result)


t = [int(x) for x in input().split('+')]
t = sorted(t)
print('+'.join(('{0}'.format(n) for n in t)))


input_string = input()
k = input_string.split('+')
s_k = sorted(k)
print('+'.join(s_k))


num = input()
c = ''
ones = 0
twos = 0
threes = 0
if len(num) == 1:
	print(num)
else:
	for token in num:
		if token == '1':
			ones += 1
		elif token == '2':
			twos += 1
		elif token == '3':
			threes += 1
	for i in range(ones):
		if c == '':
			c += '1'
		else:
			c += '+1'
	for j in range(twos):
		if c == '':
			c += '2'
		else:
			c += '+2'
	for k in range(threes):
		if c == '':
			c += '3'
		else:
			c += '+3'
print(c)


numbers = input().split('+')
numbers.sort()
output = ''
for number in numbers:
	output = output + number + '+'
print(output[:-1])


def nsort(l):
	freq = dict()
	for i in l:
		freq[i] = freq.get(i, 0) + 1
	newl = []
	for i in sorted(freq.keys()):
		newl.extend([i] * freq[i])
	return newl
print('+'.join(nsort(input().split('+'))))


p = input()
l = []
str = ''
for i in range(len(p)):
	if p[i] >= '1' and p[i] <= '3':
		l.append(p[i])
l.sort()
for i in range(len(l) - 1):
	str = str + l[i] + '+'
print(str + l[len(l) - 1])


string = input()
newString = list(string)
for i in newString:
	if i == '+':
		newString.remove(i)
stringSorted = sorted(newString)
for i in range(len(string) - 1):
	if len(stringSorted) == 1:
		stringSorted.insert(0, newString[i])
	if i % 2 == 1:
		stringSorted.insert(i, '+')
	else:
		pass
print(''.join(stringSorted))


a = input()
c = a.replace('+', '')
d = [int(i) for i in c]
d.sort()
d1 = [str(i) for i in d]
d2 = '+'.join(d1)
print(d2)


s = input()
h = ''
p = s.replace('+', '')
for i in sorted(p):
	h = h + i + '+'
print(h.strip('+'))


math = input().split('+')
math.sort()
result = ''
for i in range(len(math)):
	result += math[i]
	if i != len(math) - 1:
		result += '+'
print(result)


v = [int(x) for x in input().split('+')]

def merge_sort(arr):
	if len(arr) > 1:
		mid = len(arr) // 2
		left = arr[:mid]
		right = arr[mid:]
		left = merge_sort(left)
		right = merge_sort(right)
		arr = []
		while len(left) > 0 and len(right) > 0:
			if left[0] < right[0]:
				arr.append(left[0])
				left.pop(0)
			else:
				arr.append(right[0])
				right.pop(0)
		for i in left:
			arr.append(i)
		for i in right:
			arr.append(i)
	return arr

def concat_string(arr):
	a = merge_sort(arr)
	x = ''
	for i in a:
		x = x + '+' + str(i)
	print(x[1:])
concat_string(v)


s = input().split('+')
s.sort()
first = True
import sys
for i in s:
	if first == False:
		sys.stdout.write('+')
	first = False
	sys.stdout.write(i)


o = input().split('+')
o2 = ''
while len(o) != 0:
	o2 += min(o) + '+'
	del o[o.index(min(o))]
print(o2[:-1])


import re
string = input()
p = re.compile('\\d+')
num = p.findall(string)
if len(num) > 1:
	num = sorted(num)
	for i in range(0, len(num) - 1):
		print(num[i], end='+')
	print(num[len(num) - 1])
else:
	print(num[0])


m = input().split('+')
m.sort()
rev = '+'.join([i for i in m])
print(rev)


def solve():
	word = input()
	numbers = word.split('+')
	numbers.sort()
	length = len(numbers)
	for i in range(0, length - 1):
		print(numbers[i] + '+', end='')
	print(numbers[length - 1])
solve()


from sys import stdin, stdout
s = ''.join(stdin.readline().strip().split('+'))
s = sorted(s)
result = ''
for ss in s:
	result += ss + '+'
stdout.write(result[:-1])
stdout.write('\n')


n = sorted([int(i) for i in input().split('+')])
print('+'.join([str(i) for i in n]))


import sys
sa = sys.stdin.readline()
list = sa.split('+')
list = [int(x) for x in list]
list.sort()
n = len(list)
if n == 1:
	print(list[0])
else:
	for i in range(0, n - 1):
		sys.stdout.write(str(list[i]) + '+')
	sys.stdout.write(str(list[n - 1]) + '\n')
	sys.stdout.flush()


n1 = input().split('+')
n1.sort()
print('+'.join(n1))


s = input()
n = s.split('+')

def printer(count):
	print('+'.join('1' * count[0]), end='')
	if count[1] != 0:
		if count[0] != 0:
			print('+', end='')
		print('+'.join('2' * count[1]), end='')
	if count[2] != 0:
		if count[1] != 0 or count[0] != 0:
			print('+', end='')
		print('+'.join('3' * count[2]))
count = [0, 0, 0]
for i in range(len(n)):
	if n[i] == '1':
		count[0] += 1
	if n[i] == '2':
		count[1] += 1
	if n[i] == '3':
		count[2] += 1
printer(count)


import sys
import math
inputs = str(input())
a = int(len(inputs))
b = int((len(str(inputs)) + 1) / 2)
c = []
d = []
e = 0
g = ''
x = 0
while x < a:
	if inputs[x].isdecimal():
		c.append(inputs[x])
		x = x + 1
	else:
		x = x + 1
c.sort()
x = 0
while e < a:
	if e % 2 == 0:
		g = g + c[x]
		e = e + 1
		x = x + 1
	else:
		g = g + '+'
		e = e + 1
print(g)


x = input('')
arr = x.split('+')
for a in arr:
	a = int(a)
arr.sort()
print('+'.join(arr))


def helpfulMaths(s):
	arr = s.split('+')
	res = ''
	arr.sort()
	for i in arr:
		res = res + i + '+'
	return res[:len(res) - 1]
print(helpfulMaths(input()))


def func():
	m = input()
	res = ''
	for i in m:
		if i == '+':
			break
	else:
		print(m)
		return
	for i in m:
		if i == '1':
			res += i + '+'
	for j in m:
		if j == '2':
			res += j + '+'
	for k in m:
		if k == '3':
			res += k + '+'
	print(res[:-1])
func()


lst = ' '.join(input()).split()
n = len(lst) // 2
for i in range(n):
	lst.remove('+')
lst_new = sorted(list(map(int, lst)))
print('+'.join(list(map(str, lst_new))))


n = input()
ones = 0
twos = 0
three = 0
x = n.split('+')
ones = x.count('1')
twos = x.count('2')
three = x.count('3')
for i in range(ones):
	if i == ones - 1 and twos == 0 and (three == 0):
		print('1', end='')
	else:
		print('1+', end='')
for i in range(twos):
	if i == twos - 1 and three == 0:
		print('2', end='')
	else:
		print('2+', end='')
for i in range(three):
	if i == three - 1:
		print('3', end='')
	else:
		print('3+', end='')


t = input()
t = t.replace('+', '')
t = list(t)
t.sort()
t = '+'.join(t)
print(t)


def sort(str):
	for i in range(len(str)):
		for j in range(len(str) - 1):
			if str[j] > str[j + 1]:
				temp = str[j]
				str[j] = str[j + 1]
				str[j + 1] = temp
	result = ''
	for i in str:
		result = result + i + '+'
	print(result[:-1])
str = input()
str = str.split('+')
sort(str)


string = input()
vals = sorted(string.split('+'))
output = ''
for i in range(len(vals) - 1):
	output += vals[i] + '+'
print(output + vals[len(vals) - 1])


i = input()
il = i.split('+')
il.sort()
l = il[-1]
il = il[:-1]
for it in il:
	print(it + '+', end='')
print(l)


lis = input().split('+')
lis.sort()
a = '+'.join(lis)
print(a)


t = input()
k = list(t)
for i in k:
	if i == '+':
		k.remove(i)
print('+'.join(sorted(k)))


a = input()
a = sorted(a)
a = ''.join(a)
s = ''
for i in a:
	if i != '+':
		s = s + i + '+'
print(s[:-1])


s = input().split('+')
s.sort()
print(s.pop(0), end='')
for n in s:
	print('+' + n, end='')
print()


s = input()
l = []
for i in s:
	if i.isdigit():
		l.append(i)
l = sorted(l)
print(*l, sep='+')


s = input().split('+')
s.sort()
out = ''
for i in s:
	out = out + '+' + i
print(out[1:])


p = input().split('+')
p = sorted(list(p))
p = '+'.join(p)
print(p)


n = input()
l = [i for i in n.split('+')]
l.sort()
s = '+'
s = s.join(l)
print(s)


s = list(input())
digit = []
pos = []
for i in range(len(s)):
	if s[i] == '+':
		pos.append(i)
	else:
		digit.append(s[i])
digit.sort()
for i in pos:
	digit.insert(i, '+')
print(''.join(digit))


inp = input()
counts = [-1, 0, 0, 0]
for elt in inp:
	if elt == '1':
		counts[1] += 1
	elif elt == '2':
		counts[2] += 1
	elif elt == '3':
		counts[3] += 1
result = ''
for i in range(counts[1]):
	result = result + '1+'
for i in range(counts[2]):
	result = result + '2+'
for i in range(counts[3]):
	result = result + '3+'
result = result[:len(result) - 1]
print(result)


s = input().split('+')
s.sort(reverse=False)
print('+'.join(s))


string = sorted([int(i) for i in input().split('+')])
for i in range(len(string) - 1):
	print(f'{string[i]}+', end='')
print(string[-1])


n = input()
ar = [int(x) for x in n if x != '+']
ar.sort()
for i in range(len(ar) - 1):
	print(ar[i], '+', sep='', end='')
print(ar[len(ar) - 1], end='')


def f():
	x = input()
	y = [int(i) for i in x.split('+')]
	y.sort()
	z = map(str, y)
	print('+'.join(z))
f()


s = input()
a = s.split('+')
a.sort()
q = ''
n = len(a)
for i in range(n):
	if i != n - 1:
		q += a[i] + str('+')
	else:
		q += a[i]
print(q)


words = input().split('+')
words.sort()
ans = []
for s in range(len(words) - 1):
	ans.append(words[s])
	ans.append('+')
ans.append(words[-1])
ans = ''.join(ans)
print(ans)


s = input()
a = []
for i in s:
	if i != '+':
		a.append(i)
	else:
		pass
a.sort()
b = ''
for i in a:
	b = b + i + '+'
b = b[:-1]
print(b)


s = input()
x = s.split('+')
x.sort(key=int)
y = '+'.join(x)
print(y)


s = input()
list = []
i = 0
while i <= len(s) - 1:
	a = int(s[i])
	list.append(a)
	i = i + 2
list1 = sorted(list)
s1 = ''
i1 = 0
while i1 <= len(list1) - 1:
	s1 = s1 + '+' + str(list1[i1])
	i1 = i1 + 1
print(s1[1:])


w = input().split('+')
w.sort()
for i in w[1:]:
	w[0] += '+' + i
print(w[0])


def isNondec(inp):
	return '+'.join(sorted(inp.split('+')))
inp = input()
print(isNondec(inp))


a = input().lower().split('+')
a.sort()
print('+'.join(a))


s = str(input())
ss = s.split('+')
s_ss = sorted(ss)
js = '+'.join(s_ss)
print(js)


a = list(map(int, input().split('+')))
b = sorted(a)
for i in range(0, len(b) - 1):
	print(str(b[i]) + '+', end='')
print(b[len(b) - 1])


n = input()
n = sorted(n)
if len(n) == 1:
	print(n[0])
else:
	for i in n[:-1]:
		if i != '+':
			print(i, end='+')
	print(n[-1])


string = input()
array = []
for x in range(0, len(string), 2):
	array.append(int(string[x]))
array.sort(reverse=False)
print(*array, sep='+')


s = input()
ans = ''
for c in ['1', '2', '3']:
	for i in range(s.count(c)):
		ans += '{}+'.format(c)
print(ans[:-1])


def helpful_maths(sum_string):
	return '+'.join(sorted([char for char in sum_string if char != '+']))
print(helpful_maths(input()))


ch = input()
a = ch.split('+')
a.sort()
if len(a) != 1:
	for i in range(len(a)):
		if i != len(a) - 1:
			print(a[i] + '+', end='')
		else:
			print(a[i])
else:
	print(a[0])


st = input()
one_count = 0
two_count = 0
three_count = 0
for i in range(len(st)):
	if st[i] == '1':
		one_count = one_count + 1
	elif st[i] == '2':
		two_count = two_count + 1
	elif st[i] == '3':
		three_count = three_count + 1
	else:
		one_count = one_count + 0
fin = ''
if len == 1:
	print(st)
else:
	for i in range(one_count):
		fin = fin + '1+'
	for i in range(two_count):
		fin = fin + '2+'
	for i in range(three_count):
		fin = fin + '3+'
print(fin[0:len(fin) - 1])


sold = input()
slist = list(map(int, sold.split('+')))
slist.sort(reverse=False)
snew = ''
for i in slist:
	snew = snew + '+' + str(i)
snew = snew[1:]
print(snew)


x = input('')
str1 = ''
count = 0
l = list(x)
l.sort()
for j in range(len(l)):
	if l[j] == '+':
		count += 1
	else:
		l[j] = str(l[j]) + '+'
z = str1.join(l)
if len(l) > 0:
	print(z[count:-1])


def solve(s):
	s = [int(i) for i in s if i != '+']
	t = sorted(s)
	return '+'.join(map(str, t))

def main():
	s = input()
	print(solve(s))
main()


n = list(input())
for i in n:
	if i == '+':
		n.remove(i)
n.sort()
print('+'.join(n))


exp = input('')
if len(exp) > 1:
	exp = exp.split('+')
	exp.sort()
	newexp = '+'
	newexp = newexp.join(exp)
else:
	newexp = exp
print(newexp)


s = input().split('+')
for i in range(len(s)):
	s[i] = int(s[i])

def sort(s):
	for i in range(len(s)):
		for j in range(len(s) - 1):
			if s[j] > s[j + 1]:
				(s[j], s[j + 1]) = (s[j + 1], s[j])
			else:
				continue
sort(s)
array = [str(x) for x in s]
out = '+'.join(array)
print(out)


inData = input().split('+')
if len(inData) > 1:
	outData = sorted(inData)
	print('+'.join(outData))
else:
	print(inData[0])


list1 = [x for x in input()]
for x in list1:
	if x == '+':
		list1.remove(x)
list1.sort()
plus = '+'.join(list1)
print(plus)


x = input()
y = []
for i in range(1, len(x) + 1):
	if i % 2 == 1:
		z = int(x[i - 1])
		y.append(z)
y.sort()
k = []
for i in range(len(y)):
	k.append(y[i])
	k.append('+')
for i in range(len(k) - 1):
	print(k[i], end='')


string = input()
li = list(string.split('+'))
l = [0] * 3
li.sort()
for i in range(len(li)):
	if i != len(li) - 1:
		print(li[i] + '+', end='')
	else:
		print(li[i])


s = input()
l = []
for x in s:
	if ord(x) > 48:
		l.append(x)
print('+'.join(sorted(l)))


s = input()
s = list(s)
s.sort()
l = []
for i in s:
	if i != '+':
		l.append(str(i))
		l.append('+')
l.pop()
l = ''.join(l)
print(l)


y = input()
k = list()
li = list(y)
index = 0
for letter in li:
	if index % 2 == 0:
		k.append(letter)
	index += 1
b = '+'.join(sorted(k))
print(b)


n = input()
n = n.replace('+', '')
m = list(n)
m = list(map(int, m))
m.sort()
r = ' '.join((str(x) for x in m))
r = r.replace(' ', '+')
print(r)


s = input()
li = s.split('+')
i = 0
while i < len(li):
	li[i] = int(li[i])
	i += 1
li.sort()
j = 0
while j < len(li):
	li[j] = str(li[j])
	j += 1
print('+'.join(li))


m = list(map(str, input().split('+')))
m.sort()
print('+'.join(map(str, m)))


mat = input().split('+')
mat.sort()
v = '+'.join(mat)
print(v)


x = input()
l = len(x)
c1 = 0
c2 = 0
c3 = 0
d = (l + 1) / 2
for i in range(0, l, 1):
	if x[i] == '1':
		c1 = c1 + 1
	if x[i] == '2':
		c2 = c2 + 1
	if x[i] == '3':
		c3 = c3 + 1
for j in range(1, c1 + 1, 1):
	print('1', end='')
	if j != d:
		print('+', end='')
for k in range(1, c2 + 1, 1):
	print('2', end='')
	if k + c1 != d:
		print('+', end='')
for l in range(1, c3 + 1, 1):
	print('3', end='')
	if l + c1 + c2 != d:
		print('+', end='')


val = input()
stri = ''
li = val.split('+')
li.sort()
for i in li:
	stri = stri + i + '+'
print(stri[:-1])


import string
x = input()
y = x.split('+')
y.sort()
print('+'.join(y))


stri = str(input())
l = list(stri.split('+'))
l = sorted(l)
n = len(l) - 1
stri = '+'.join(l)
print(stri)


s1 = input()
s = ''.join(sorted(s1))
sz = len(s)
s2 = ''
for i in range(sz // 2, sz, 1):
	s2 = s2 + s[i] + '+'
print(s2[:sz])


n = list(map(int, input().split('+')))
n = sorted(n)
n = str(n)
n = n.replace('[', '')
n = n.replace(']', '')
n = n.replace(', ', '+')
print(n)


_str = input()
size = len(_str)
_list = []
for i in range(0, size, 2):
	_list.append(_str[i])
_list.sort()
__str = '{0}'.format(_list[0])
for i in range(1, len(_list)):
	__str = __str + '+{0}'.format(_list[i])
print(__str)


s = list(input(''))
x = len(s)
one = 0
two = 0
three = 0
for i in range(0, x):
	if s[i] == '1':
		one += 1
	elif s[i] == '2':
		two += 1
	elif s[i] == '3':
		three += 1
	else:
		pass
if three == 0 and two != 0:
	print('1+' * one + '2+' * (two - 1) + '2')
elif two == 0 and three == 0:
	print('1+' * (one - 1) + '1')
else:
	print('1+' * one + '2+' * two + '3+' * (three - 1) + '3')


s = input()
a = list(s)
b = []
for i in a:
	if i == '1' or i == '2' or i == '3':
		b.append(i)
b.sort()
for j in range(len(b) - 1):
	print(b[j] + '+', end='')
print(b[-1])


a = str(input())
x = list(a.split('+'))
x.sort()
res = '+'.join(x)
print(res)


def heapify(L, heap_size, root_ind):
	left_child_ind = 2 * root_ind + 1
	right_child_ind = 2 * root_ind + 2
	max_ind = root_ind
	if left_child_ind < heap_size and L[left_child_ind] > L[max_ind]:
		max_ind = left_child_ind
	if right_child_ind < heap_size and L[right_child_ind] > L[max_ind]:
		max_ind = right_child_ind
	if max_ind != root_ind:
		(L[root_ind], L[max_ind]) = (L[max_ind], L[root_ind])
		heapify(L, heap_size, max_ind)

def heap_sort(L):
	heap_size = len(L)
	start = len(L) // 2 - 1
	for i in range(start, -1, -1):
		heapify(L, heap_size, i)
	for j in range(heap_size - 1, 0, -1):
		(L[j], L[0]) = (L[0], L[j])
		heapify(L, j, 0)
	return L
L = [int(i) for i in input().split('+')]
L1 = heap_sort(L)
print('+'.join([str(i) for i in L1]))


A = list(input())
for i in range(0, len(A), 2):
	for j in range(i + 2, len(A), 2):
		if int(A[i]) > int(A[j]):
			(A[i], A[j]) = (A[j], A[i])
print(''.join(A))


string = input()
newStr = []
for i in range(len(string)):
	if string[i] != '+':
		newStr.append(int(string[i]))
newStr.sort()
andron = len(newStr)
count = 1
for i in newStr:
	if count != andron:
		print(str(i) + '+', end='')
	else:
		print(str(i), end='')
	count += 1


the_string = input(str(''))
equation = the_string.split('+')
ones = []
twos = []
threes = []
for i in equation:
	if int(i) == 1:
		ones.append(i)
	elif int(i) == 2:
		twos.append(i)
	elif int(i) == 3:
		threes.append(i)
entire_equation = []
for _ in ones:
	entire_equation.append(str(_) + '+')
for _ in twos:
	entire_equation.append(str(_) + '+')
for _ in threes:
	entire_equation.append(str(_) + '+')
entire_equation_true = ''.join(entire_equation)
entire_equation_true = entire_equation_true[:-1]
total = 0
for _ in entire_equation_true:
	if _.isdigit():
		total += int(_)
print(entire_equation_true)


line = input().split('+')
line = [int(i) for i in line]
line.sort()
a = len(line)
for i in range(0, a):
	if i != a - 1:
		print('{}+'.format(line[i]), end='')
	else:
		print('{}'.format(line[i]), end='')


n = input()
l = len(n)
lst = []
for i in range(0, l, 2):
	lst.append(int(n[i]))
lst.sort()
newl = len(lst)
for i in range(len(lst) - 1):
	print(lst[i], end='')
	print('+', end='')
print(lst[-1])


n = list(input())
number = []
for i in range(len(n)):
	if i % 2 == 0:
		number.append(n[i])
number.sort()
print('+'.join(number))


k = list(map(int, input().split('+')))
k.sort()
print('+'.join(map(str, k)))


s = input()
digits = []
for i in s:
	if i.isdigit():
		digits.append(int(i))
index = [0] * 3
for i in digits:
	index[i - 1] += 1
digits_sorted = []
for i in range(len(index)):
	for x in range(index[i]):
		digits_sorted.append(int(i + 1))
digits_output = '+'.join(map(str, digits_sorted))
print(digits_output)


def partition(nums, low, high):
	pivot = nums[(low + high) // 2]
	i = low - 1
	j = high + 1
	while True:
		i += 1
		while nums[i] < pivot:
			i += 1
		j -= 1
		while nums[j] > pivot:
			j -= 1
		if i >= j:
			return j
		(nums[i], nums[j]) = (nums[j], nums[i])

def quick_sort(nums):

	def _quick_sort(items, low, high):
		if low < high:
			split_index = partition(items, low, high)
			_quick_sort(items, low, split_index)
			_quick_sort(items, split_index + 1, high)
	_quick_sort(nums, 0, len(nums) - 1)
s = list(map(int, input().split('+')))
quick_sort(s)
print('+'.join(map(str, s)))


n = input()
l = []
for i in range(len(n)):
	if i % 2 == 0:
		l.append(n[i])
l.sort()
t = '+'.join(l)
print(t)


line = input()
count_1 = 0
count_2 = 0
count_3 = 0
size = len(line)
for i in range(size):
	if line[i] == '1':
		count_1 = count_1 + 1
	elif line[i] == '2':
		count_2 = count_2 + 1
	elif line[i] == '3':
		count_3 = count_3 + 1
	else:
		continue
newln = []
for i in range(count_1):
	newln.append('1')
	newln.append('+')
for i in range(count_2):
	newln.append('2')
	newln.append('+')
for i in range(count_3):
	newln.append('3')
	newln.append('+')
newln.pop(size)
print(''.join(newln))


s = list(input().strip())
n = len(s)
a = []
a.append(s.count('1'))
a.append(s.count('2'))
a.append(s.count('3'))
(i, k) = (0, 0)
while i < 3:
	j = 0
	if a[i] != 0:
		while j < a[i] and k < n:
			s[k] = i + 1
			j += 1
			k += 2
		i += 1
	else:
		i += 1
for i in s:
	print(i, end='')


def split(numbers):
	return [char for char in numbers]
numbers = input()
unwanted = ['+']
for i in unwanted:
	numbers = numbers.replace(i, '')
listo = split(numbers)
listoo = listo.sort()

def listtostring(s):
	str1 = '+'
	return str1.join(s)
print(listtostring(listo))


from math import *
from string import *
from fractions import *
from itertools import *

def main():
	lis = input().strip().split('+')
	lis.sort()
	print('+'.join(lis))
main()


firstLine = input()
ones = 0
twos = 0
threes = 0
outputLine = ''
for i in range((len(firstLine) + 1) // 2):
	if firstLine[2 * i] == '1':
		ones += 1
	elif firstLine[2 * i] == '2':
		twos += 1
	else:
		threes += 1
for n in range(ones):
	outputLine += '1+'
for m in range(twos):
	outputLine += '2+'
for p in range(threes):
	outputLine += '3+'
print(outputLine[:-1])


s = input()
a = []
for i in range(len(s)):
	if s[i] != '+':
		a.append(int(s[i]))
a = sorted(a)
s = []
for i in range(len(a)):
	s.append(str(a[i]))
	if i != len(a) - 1:
		s.append('+')
s = ''.join(s)
print(s)


def arrangesum(inStr):
	sList = inStr.split('+')
	sListInts = []
	outStr = ''
	if len(inStr) <= 100:
		try:
			for x in sList:
				sListInts.append(int(x))
			sListInts.sort()
			outStr = str(sListInts[0])
			for y in range(len(sListInts) - 1):
				outStr += '+' + str(sListInts[y + 1])
			print(outStr)
		except ValueError:
			outStr = 'Error'
	else:
		print('Error')
		outStr = 'Error'
	return outStr
s = input()
arrangesum(s)


import sys
a = list(map(int, input().split('+')))
a.sort()
c = 0
for l in a:
	c += 1
	sys.stdout.write(str(l))
	if c < len(a):
		sys.stdout.write('+')


import math
from collections import defaultdict
from collections import Counter
import itertools

def solve(m):
	temp.sort()
	return '+'.join((str(x) for x in temp))
s = input().split('+')
temp = []
for x in s:
	temp.append(int(x))
print(solve(temp))


a = list(input())
a.sort()
b = []
for i in a:
	if i != '+':
		b.append(i)
b = '+'.join(b)
print(b)


NumList = [x for x in input().split('+')]
Number = len(NumList)
for i in range(Number):
	for j in range(i + 1, Number):
		if NumList[i] > NumList[j]:
			temp = NumList[i]
			NumList[i] = NumList[j]
			NumList[j] = temp
result = '+'.join(NumList)
print(result)


a = [0] * 4
s = input()
l = 0
for i in range(1, 4):
	a[i] = s.count(str(i))
	l += a[i]
for i in range(1, 4):
	while a[i] != 0:
		if l != 1:
			print(i, end='+')
		else:
			print(i)
		l -= 1
		a[i] -= 1


cal = input()
cal = cal.split('+')
cal = [int(i) for i in cal]
buck = 4 * [0]
for i in cal:
	buck[i] += 1
newcal = ''
for i in range(1, 4):
	while buck[i] > 0:
		buck[i] -= 1
		newcal += str(i)
print('+'.join(newcal))


s = input().split('+')
s = sorted(s)
new_s = ''
for i in range(len(s)):
	if i != len(s) - 1:
		new_s += s[i] + '+'
	else:
		new_s += s[i]
print(new_s)


s = str(input())
s1 = str()
i = 0
x = 0
y = 0
z = 0
for i in range(len(s)):
	if s[i] == '3':
		x = x + 1
	if s[i] == '2':
		y = y + 1
	if s[i] == '1':
		z = z + 1
if z != 0:
	i = 1
	for i in range(z):
		s1 = s1 + '1' + '+'
if y != 0:
	i = 1
	for i in range(y):
		s1 = s1 + '2' + '+'
if x != 0:
	i = 1
	for i in range(x):
		s1 = s1 + '3' + '+'
s1 = s1[:len(s)]
print(s1)


cad = input()
cad = cad.split('+')
cad.sort()
print('+'.join(cad))


s = list(input())
i = 0
while i < len(s):
	if s[i] == '+':
		s.pop(i)
	else:
		i += 1
s.sort()
print('+'.join(s))


res = []
for data in input():
	if data != '+':
		res.append(data)
res.sort()
r = ''
for data in res:
	r += data + '+'
print(r[:-1])


s = list(map(int, input().split('+')))
s = sorted(s)
out = ''
for i in s:
	out += str(i) + '+'
print(out[:len(out) - 1])


s = input()
lst = []
for i in range(0, len(s), 2):
	t = int(s[i])
	lst.append(t)
lst.sort()
lst1 = [str(i) for i in lst]
s1 = '+'
s1 = s1.join(lst1)
print(s1)


s = str(input())
b = []
s = s.replace('+', '')
for j in range(len(s)):
	b.append(s[j])
print('+'.join(sorted(b)))


line = [int(a) for a in input().split('+')]
line.sort()
print(line[0], end='')
for a in range(1, len(line)):
	print('+' + str(line[a]), end='')


def main():
	v = list(map(int, input().split('+')))
	v.sort()
	return '+'.join(map(str, v))
print(main())


line = input()
s = len(line)
(a1, a2, a3) = (0, 0, 0)
for i in range(s):
	if line[i] == '1':
		a1 += 1
	elif line[i] == '2':
		a2 += 1
	elif line[i] == '3':
		a3 += 1
L = []
if a1 > 0:
	for i in range(a1):
		L.append(1)
if a2 > 0:
	for i in range(a2):
		L.append(2)
if a3 > 0:
	for i in range(a3):
		L.append(3)
k = len(L)
if k == 1:
	print(int(L[0]))
else:
	for i in range(k - 1):
		print('%d%s' % (int(L[i]), '+'), end='')
	print(int(L[k - 1]), end='')


list = input().split('+')
for i in range(len(list)):
	list[i] = int(list[i])
list.sort()
print(list[0], end='')
for i in range(1, len(list)):
	print('+' + str(list[i]), end='')
print()


s = input().split('+')
y = []
for x in s:
	y.append(int(x))
y.sort()
strr = ''
for x in y:
	strr += '+'
	strr += str(x)
print(strr[1:])


s = input().split('+')
(ones, twos, threes) = (0, 0, 0)
for i in s:
	if i == '1':
		ones += 1
	elif i == '2':
		twos += 1
	else:
		threes += 1
v = ones + twos + threes
if v >= 1 and ones >= 1:
	ch = '1'
for i in range(ones):
	if v > 1:
		print('1', end='+')
		v -= 1
if v >= 1 and twos >= 1:
	ch = '2'
for i in range(twos):
	if v > 1:
		print('2', end='+')
		v -= 1
if v >= 1 and threes >= 1:
	ch = '3'
for i in range(threes):
	if v > 1:
		print('3', end='+')
		v -= 1
print(ch)


def main():
	line = sorted([i for i in input().split('+')])
	print('+'.join(line))
main()


n = input()
l = []
str1 = ''
for i in range(0, len(n), 2):
	l.append(int(n[i]))
l.sort()
for i in range(len(l) - 1):
	str1 += str(l[i]) + '+'
print(str1 + str(l[-1]))


def BubbleSort(lst):
	swapped = True
	while swapped:
		swapped = False
		for i in range(len(lst) - 1):
			if lst[i] > lst[i + 1]:
				temp = lst[i + 1]
				lst[i + 1] = lst[i]
				lst[i] = temp
				swapped = True
	return lst
sum = list(map(int, input().split('+')))
sum = BubbleSort(sum)
for j in range(len(sum) - 1):
	print(sum[j], end='+')
print(sum[-1])


s = list(input())
s.sort()
n = len(s)
a = 0
l = 0
for i in s:
	l += 1
	if i == '1' or i == '2' or i == '3':
		print(i, end='')
		if l != n:
			print('+', end='')


str1 = input()
str1 = str1.split('+')
str1 = [int(str1[i]) for i in range(len(str1))]
str1.sort()
str1 = [str(str1[i]) for i in range(len(str1))]
for i in range(len(str1)):
	str1.insert(2 * i, '+')
del str1[0]
print(''.join(str1))


equation = input()
formatted_equation = ''.join([number + '+' for number in sorted(equation.split('+'))])
if len(formatted_equation) <= 2:
	print(formatted_equation[0])
else:
	print(formatted_equation[:-1])


s = list(input().split('+'))
print(min(s), end='')
for i in range(s.count(min(s)) - 1):
	print('+' + min(s), end='')
for i in range(int(min(s)) + 1, 4):
	for j in range(s.count(str(i))):
		print('+' + str(i), end='')


l = list(input().strip().split('+'))
print('+'.join(map(str, sorted(l))))


addition_string = input()
addition_summands = addition_string.split('+')
ones = addition_summands.count('1')
twos = addition_summands.count('2')
threes = addition_summands.count('3')
liste = ['1'] * ones + ['2'] * twos + ['3'] * threes
print('+'.join(liste))


numbers = input().split('+')
numbers.sort()
res = '' + numbers[0]
n = len(numbers)
for i in range(1, n):
	res = res + '+' + numbers[i]
print(res)


from random import choice
s = [str(x) for x in input() if x != '+']

def index(arr):
	if len(arr) <= 1:
		return arr
	else:
		c = choice(arr)
		(l, m, r) = ([], [], [])
		for x in arr:
			if x < c:
				l.append(x)
			elif x > c:
				r.append(x)
			else:
				m.append(x)
		return index(l) + m + index(r)
s2 = index(s)
print('+'.join(s2))


inp = input()
arr = inp.split('+')
L = []
for a in arr:
	L.append(int(a))
L.sort()
b = False
ret = ''
for l in L:
	if b:
		ret += '+' + str(l)
	else:
		ret += str(l)
		b = True
print(ret)


a = str(input())
div = int(len(a) / 2)
list_a = list(a)
list_a.sort()
last = list_a[div:]
print('+'.join(last))


s1 = input()
one = 0
two = 0
three = 0
s2 = ''
for i in s1:
	if i == '1':
		one += 1
	elif i == '2':
		two += 1
	elif i == '3':
		three += 1
for i in range(one):
	s2 += '1' + '+'
for i in range(two):
	s2 += '2' + '+'
for i in range(three):
	s2 += '3' + '+'
s2 = s2[:-1]
print(s2)


def bubble_sort(arr):

	def swap(i, j):
		(arr[i], arr[j]) = (arr[j], arr[i])
	n = len(arr)
	swapped = True
	x = -1
	while swapped:
		swapped = False
		x = x + 1
		for i in range(1, n - x):
			if arr[i - 1] > arr[i]:
				swap(i - 1, i)
				swapped = True
	return arr
n = input().split('+')
s = []
l = len(n)
for i in range(0, l):
	k = int(n[i])
	s.append(k)
bubble_sort(s)
print('+'.join((str(x) for x in s)))


s = []
s = list(input())
n = 0
k = []
s.sort()
k1 = int((len(s) - 1) / 2)
k2 = len(s) - k1
while n < k2 - 1:
	k.append(s[k2 - 1 + n])
	k.append(s[n])
	n = n + 1
k.append(s[-1])
k3 = ''.join(k)
print(k3)


def quick_sort(array):
	if len(array) > 1:
		pivot = array[len(array) // 2]
		less = [elem for elem in array if elem < pivot]
		eq = [elem for elem in array if elem == pivot]
		more = [elem for elem in array if elem > pivot]
		return quick_sort(less) + eq + quick_sort(more)
	else:
		return array

def solve():
	expr = input().split('+')
	expr = quick_sort(expr)
	print('+'.join(expr))
solve()


l = input()
l = l.split('+')
for i in range(len(l)):
	l[i] = int(l[i])
p = 0
while p < len(l) - 1:
	if l[p] > l[p + 1]:
		(l[p], l[p + 1]) = (l[p + 1], l[p])
		if not p == 0:
			p = p - 1
	else:
		p += 1
for i in range(len(l)):
	l[i] = str(l[i])
sum = '+'.join(l)
print(sum)


import string
equa = sorted(input()[::2])
equa = '+'.join(equa)
print(equa)


from collections import Counter
s = input()
res = []
for (e, c) in sorted(Counter(s.split('+')).most_common(), key=lambda x: x[0]):
	res += '+'.join([e for i in range(c)]) + '+'
print(''.join(res[:-1]))


arr = list(map(int, input().split('+')))
arr.sort()
ans = ''
for i in range(len(arr)):
	if i == 0:
		ans += str(arr[i])
	else:
		ans += '+' + str(arr[i])
print(ans)


s = input()
n = len(s)
lst = []
for i in s:
	if i != '+':
		lst.append(int(i))
lst = sorted(lst)
ans = str(lst[0])
if len(lst) > 1:
	for i in range(1, len(lst)):
		ans = ans + '+' + str(lst[i])
print(ans)


n = list(input().split('+'))
tab = []
n.sort()
ans = ''
for i in n:
	tab.append(i)
	tab.append('+')
tab.pop()
ans = ans.join(tab)
print(ans)


A = list(map(int, input().split('+')))
B = sorted(A)
print(*B, sep='+')


__author__ = 'DeyerliQiz'
print('+'.join(map(str, sorted(map(int, input().split(sep='+'))))))


a = input()
c = []
b = len(a)
d = []
for i in range(0, b, 2):
	c.append(a[i])
c.sort()
for i in range(len(c)):
	if i == len(c) - 1:
		d.append(c[i])
	else:
		d.append(c[i])
		d.append('+')
e = ''.join(d)
print(e)


answers = []
s = input()
for i in range(0, len(s)):
	if s[i] == '+':
		continue
	else:
		answers.append(s[i])
answers.sort()
ans = ''
for i in range(0, len(answers)):
	ans += answers[i]
	if i + 1 != len(answers):
		ans += '+'
print(ans)


initialEquation = input()
lis = initialEquation.split('+')
lis.sort()
finalEquation = '+'.join(lis)
print(finalEquation)


string = input()
string = string.split('+')
string.sort()
sorted = []
N = 0
for i in string:
	N += 1
	print(i, end='', flush=True)
	if N == len(string):
		break
	print('+', end='', flush=True)


s = sorted(map(int, input().rstrip().split('+')))
ans = ''
for i in s:
	ans += str(i) + '+'
print(ans[:len(ans) - 1])


a = str(input())
list = []
m = len(a)
for i in range(0, m, 2):
	n = a[i]
	list.append(n)
list.sort()
first = list[0]
del list[0]
print(first, end='')
if list == None:
	exit()
else:
	for i in list:
		print('+', end='')
		print(i, end='')


n = input()
a = []
for i in range(0, len(n), 2):
	a.append(int(n[i]))
a = sorted(a)
for i in range(len(a)):
	if i != len(a) - 1:
		print(a[i], end='+')
	else:
		print(a[i])


s = input()
l = []
a = ''
for i in s:
	if i != '+':
		l.append(i)
l.sort()
for i in l:
	if len(a) == len(s) - 1:
		a = a + i
	else:
		a = a + (i + '+')
print(a)


from math import *
string1 = []
string2 = []
string1 = input()
count = len(string1)
i = int(0)
j = int(0)
while count != 0:
	if string1[i] != '+':
		string2.append(string1[i])
		j += 1
	i += 1
	count -= 1
string2.sort()
new_string = ''
i = 0
length = len(string2)
count = len(string2)
while count != 0:
	if i == 0:
		new_string = new_string + string2[i]
	else:
		new_string = new_string + '+' + string2[i]
	i += 1
	count -= 1
print(new_string)


s = input()
ts = ''
l = []
for i in range(0, len(s), 2):
	l.append(s[i])
l = sorted(l)
for i in range(len(l)):
	if i == len(l) - 1:
		ts = ts + l[i]
	else:
		ts = ts + l[i] + '+'
print(ts)


s = input()
arr = []
for i in range(len(s)):
	if i % 2 == 0:
		arr.append(int(s[i]))
arr.sort()
p = ''
for i in range(len(arr) - 1):
	p = p + str(arr[i]) + '+'
p = p + str(arr[-1])
print(p)


x = list(map(str, input().split('+')))
x.sort()
y = '+'.join(x)
print(y)


try:
	take_input = input().split('+')
	take_input.sort()
	output = ''
	for i in range(len(take_input)):
		if i == len(take_input) - 1:
			output += str(take_input[i])
		else:
			output += str(take_input[i]) + '+'
	print(output)
except Exception as e:
	print(e)


s = str(input())
s = list(s)
SUM = ''
for i in range(0, len(s), 2):
	for j in range(0, i, 2):
		if s[i] < s[j]:
			(s[i], s[j]) = (s[j], s[i])
for i in s:
	SUM += i
print(SUM)


s = input('')
count = [0, 0, 0]
for i in range(0, len(s), 2):
	count[int(s[i]) - 1] += 1
new = ''
term = ['1', '2', '3']
for i in range(3):
	for j in range(count[i]):
		new += term[i] + '+'
new = new[:-1]
print(new, end='')


a = input()
b = a.replace('+', '')
c = list(b)
c.sort()
print('+'.join(c))


a = input().split('+')
if len(a) == 1:
	print(a[0])
else:
	a.sort()
	print('+'.join(a))


n = input().split('+')
n.sort()
sol = ''
for i in range(len(n)):
	if i != 0:
		sol += '+'
	sol += n[i]
print(sol)


l = list(map(int, input().split('+')))
l = sorted(l)
print(*l, sep='+')


s = input().split('+')
s1 = [int(i) for i in s]
s1.sort()
if len(s1) is 1:
	print(s1[0])
else:
	for i in s1[:-1]:
		print(i, end='+')
	print(s1[-1])


s = str(input())
s1 = list(s)
x = []
for i in range(0, len(s), 2):
	x.append(s1[i])
x.sort()
a = ''
for j in range(len(x)):
	a = a + str(x[j])
	if j != len(x) - 1:
		a = a + '+'
print(a)


s = input()
lst = []
a = '+'
for x in range(0, len(s), 2):
	lst.append(s[x])
lst.sort()
print(a.join(lst))


l = input()
n = filter(str.isdigit, l)
m = sorted(n)
a = len(m)
for i in range(a):
	m[i] = m[i] + '+'
e = ''.join(m)
E = e.rstrip('+')
print(E)


x = input()
a = [0, 0, 0]
s = ''
for i in range(0, len(x), 2):
	if x[i] == '1':
		a[0] = a[0] + 1
	elif x[i] == '2':
		a[1] = a[1] + 1
	elif x[i] == '3':
		a[2] = a[2] + 1
for i in range(a[0]):
	s = s + '1+'
for i in range(a[1]):
	s = s + '2+'
for i in range(a[2]):
	s = s + '3+'
print(s[:len(x)])


inp = input().split('+')
t = sorted(inp)
state = ''
for i in t:
	state += i + '+'
print(state[0:-1])


x = str(input())
a = list(map(int, x[::2]))
a.sort()
s = [0] * len(a)
for i in range(len(a)):
	s[i] = str(a[i])
print('+'.join(s))


s = input()
l = []
for i in s:
	r = s.split('+')
num = []
for i in r:
	x = int(i, 10)
	num.append(x)
num.sort()
str_num = []
for i in num:
	str_num.append(str(i))
print('+'.join(str_num))


def helpmath(str):
	list1 = []
	list2 = []
	str1 = ''
	length = len(str)
	for i in range(0, length, 2):
		list1.append(int(str[i]))
	for i in list1:
		if i == 1:
			list2.append(i)
			list1[list1.index(i)] = 5
	for i in list1:
		if i == 2:
			list2.append(i)
			list1[list1.index(i)] = 6
	for i in list1:
		if i == 3:
			list2.append(i)
			list1[list1.index(i)] = 6
	for i in list2:
		str1 += '%d' % i + '+'
	print(str1[0:-1])
str = input()
helpmath(str)


a = list(input())
for i in a[:]:
	if i == '+':
		a.remove(i)
a = sorted(a, reverse=False)
a = '+'.join(a)
print(a)


a = input()
one = 0
two = 0
t = 0
pl = 0
for i in range(0, len(a)):
	if a[i] == '1':
		one = one + 1
	elif a[i] == '2':
		two = two + 1
	elif a[i] == '3':
		t = t + 1
	else:
		pl = pl + 1
s = []
for i in range(0, one):
	s.append('1')
	s.append('+')
for i in range(0, two):
	s.append('2')
	s.append('+')
for i in range(0, t):
	s.append('3')
	s.append('+')
for i in range(0, len(s) - 1):
	print(s[i], end='')


s = input().split('+')
ss = sorted(s)
x = 1
l = len(ss)
while x < 2 * l - 1:
	ss.insert(x, '+')
	x += 2
print(''.join(ss))


s = input()
s = list(s.split('+'))
s.sort()
print(s[0], end='')
for i in s[1:]:
	print('+' + i, end='')


a = list(map(int, input().split('+')))
x = 0
y = 0
z = 0
for i in a:
	if i == 1:
		x += 1
	elif i == 2:
		y += 1
	else:
		z += 1
n = '1+' * x + '2+' * y + '3+' * z
m = n[0:-1]
print(m)


nums = list(map(lambda x: int(x), input().split('+')))
nums.sort()
print(nums[0], end='')
for i in range(1, len(nums)):
	print('+{}'.format(nums[i]), end='')


data = input().split('+')
data = [int(x) for x in data]
ones = 0
twos = 0
threes = 0
for number in data:
	if number == 1:
		ones += 1
	elif number == 2:
		twos += 1
	elif number == 3:
		threes += 1
ans = ''
for i in range(ones):
	ans += '1'
	ans += '+'
for i in range(twos):
	ans += '2'
	ans += '+'
for i in range(threes):
	ans += '3'
	ans += '+'
ans = ans[:-1]
print(ans)


n = list(map(int, input().split('+')))
n.sort()
count = 1
for x in n:
	if count < len(n):
		print(str(x) + '+', end='')
	else:
		print(str(x), end='')
	count += 1


a = [int(m) for m in input().split('+')]
a.sort()
print(*a, sep='+')


inp = input()
no_of_digits = 0
no_of_ones = 0
no_of_twos = 0
no_of_threes = 0
for char in inp:
	if char == '1':
		no_of_ones += 1
	if char == '2':
		no_of_twos += 1
	if char == '3':
		no_of_threes += 1
ones_str = ''
twos_str = ''
threes_str = ''
for one in range(0, no_of_ones):
	ones_str = ones_str + '1+'
for two in range(0, no_of_twos):
	twos_str = twos_str + '2+'
for three in range(0, no_of_threes):
	threes_str = threes_str + '3+'
res = ones_str + twos_str + threes_str
print(res[:-1])


numbersList = sorted(map(int, input().split('+')))
print('+'.join(map(str, numbersList)))


word = input()
targetStr = ''
nums = []
for i in word:
	if i in ['1', '2', '3']:
		nums.append(int(i))
nums.sort()
for i in range(len(nums) - 1):
	targetStr += str(nums[i]) + '+'
targetStr += str(nums[-1])
print(targetStr)


import sys
s = input()
v = []
index = 0
for i in s:
	if i.isdigit():
		v.append(i)
v.sort()
ans = []
for i in v:
	ans.append(i)
	ans.append('+')
ans.pop(len(ans) - 1)
for i in ans:
	sys.stdout.write(i)


inp = input()
numbers = sorted([int(num) for num in inp.split('+')])
print('+'.join([str(num) for num in numbers]))


str1 = list(input().split('+'))
str1.sort()
output = ''
for i in range(len(str1)):
	if i == len(str1) - 1:
		output += str1[i]
	else:
		output += str1[i] + '+'
print(output)


s1 = input()
lis = []
for i in s1:
	if i.isdigit():
		lis.append(i)
lis.sort()
print('+'.join(lis))


addition = input()
number_list = addition.split('+')
number_list.sort()
print('+'.join(number_list))


s = input()
if s.find('+') == -1:
	print(s)
else:
	s = list(map(int, s.split('+')))
	s.sort()
	s1 = ''
	for i in s:
		s1 += str(i) + '+'
	print(s1[:-1])


import sys
input = sys.stdin.readline

def main():
	lst = list(input().strip().split('+'))
	lst.sort()
	print('+'.join(lst))
main()


sin = input()
kchange = sin.replace('+', '')
a = sorted(kchange)
newl = '+'.join(map(str, a))
print(newl)


n = input()
(one, two, three) = (0, 0, 0)
for i in range(len(n)):
	if n[i] == '1':
		one += 1
	elif n[i] == '2':
		two += 1
	elif n[i] == '3':
		three += 1
plus = len(n) - (one + two + three)
while not (one == 0 and two == 0 and (three == 0)):
	if one != 0:
		print(1, end='')
		one -= 1
	elif two != 0:
		print(2, end='')
		two -= 1
	else:
		print(3, end='')
		three -= 1
	if plus != 0:
		print('+', end='')
		plus -= 1
print()


import sys

def Main():
	writer = sys.stdout.write
	expr = input()
	x1 = 0
	x2 = 0
	x3 = 0
	for i in range(len(expr)):
		if expr[i] == '1':
			x1 += 1
		if expr[i] == '2':
			x2 += 1
		if expr[i] == '3':
			x3 += 1
	while x1 + x2 + x3 > 0:
		if x1 > 0:
			writer('1')
			x1 -= 1
		elif x2 > 0:
			writer('2')
			x2 -= 1
		elif x3 > 0:
			writer('3')
			x3 -= 1
		if x1 + x2 + x3 > 0:
			writer('+')
Main()


inp = list(input())
st = []
for i in range(0, len(inp), 2):
	st.append(inp[i])
st.sort()
sta = []
for i in range(0, len(st)):
	sta.append(st[i])
	if i != len(st) - 1:
		sta.append('+')
print(''.join(sta))


st = input()
st = st.replace('+', ' ')
l = st.split()
l.sort()
newst = '+'.join(l)
print(newst)


s = input()
l = []
for i in range(0, len(s), 2):
	l.append(s[i])
l.sort()
b = ''
for i in range(0, len(l)):
	if i == len(l) - 1:
		b = b + l[i]
	else:
		b = b + l[i] + '+'
print(b)


equation = input().split('+')
num = sorted(list((int(i) for i in equation)))
new_eq = ''
for i in num:
	new_eq += str(i) + '+'
print(new_eq[:len(new_eq) - 1])


import sys
s = []
s = input().split('+')
x = list()
for cur in s:
	x.append(int(cur))
x.sort()
sys.stdout.write(str(x[0]))
for cur in range(1, len(x)):
	sys.stdout.write('+')
	sys.stdout.write(str(x[cur]))


a = input()
b = a.split('+')
c = sorted([int(x) for x in b])
print('+'.join([str(x) for x in c]))


s = [int(i) for i in input().split('+')]
shetchikshetchikov = 0
while shetchikshetchikov < len(s):
	shetchik = shetchikshetchikov
	maksimum = shetchik
	while shetchik < len(s):
		if s[maksimum] > s[shetchik]:
			maksimum = shetchik
		shetchik = shetchik + 1
	(s[maksimum], s[shetchikshetchikov]) = (s[shetchikshetchikov], s[maksimum])
	shetchikshetchikov = shetchikshetchikov + 1
b = 0
a = ''
while b < len(s):
	a = a + str(s[b])
	if len(s) - 1 > b:
		a = a + '+'
	b = b + 1
print(a)


list1 = [int(x) for x in input().split('+')]
list1.sort()
a = int(len(list1))
for i in range(0, a, 1):
	print(list1[i], end='')
	if i < a - 1:
		print('+', end='')


import sys
one = 0
two = 0
three = 0
string = input()
for i in string:
	if i is '1':
		one += 1
	elif i is '2':
		two += 1
	elif i is '3':
		three += 1
while one:
	if one == 1 and (not two) and (not three):
		print('1')
	else:
		print('1+', end='')
	one -= 1
while two:
	if two == 1 and (not three):
		print('2')
	else:
		print('2+', end='')
	two -= 1
while three:
	if three == 1:
		print('3')
	else:
		print('3+', end='')
	three -= 1


str = input()
arr = []
for i in str:
	if i != '+':
		arr.append(i)
arr.sort()
print(*arr, sep='+')


l = []
l1 = []
l2 = []
l = input()
b = 1
str1 = ''
for i in l:
	if i != '+':
		a = int(i)
		l1.append(a)
l2 = sorted(l1)
while b <= 2 * len(l1) - 2:
	l2.insert(b, '+')
	b = b + 2
for i in l2:
	f = str(i)
	str1 = str1 + f
print(str1)


n = input()
k1 = k2 = k3 = 0
for i in range(0, len(n), 2):
	if n[i] == '1':
		k1 += 1
	elif n[i] == '2':
		k2 += 1
	else:
		k3 += 1
nn = '1+' * k1 + '2+' * k2 + '3+' * k3
print(nn[:-1])


c = ''
b = input()
a = list(b)
l = sorted(a)
while '+' in l:
	if l[0] == '+':
		del l[0]
for i in l:
	c += i + '+'
print(c[:len(c) - 1])


arr = list(map(int, input().split('+')))
arr.sort()
fstr = ''
for num in arr:
	fstr += str(num) + '+'
print(fstr[:-1])


c1 = 0
c2 = 0
c3 = 0
s = str(input())
while len(s) > 0:
	if s[0] == '1':
		c1 += 1
		s = s[2:]
	elif s[0] == '2':
		c2 += 1
		s = s[2:]
	elif s[0] == '3':
		c3 += 1
		s = s[2:]
while c1 > 0:
	s = s + '1+'
	c1 -= 1
while c2 > 0:
	s = s + '2+'
	c2 -= 1
while c3 > 0:
	s = s + '3+'
	c3 -= 1
s = s[0:-1]
print(s)


components = [int(_) for _ in input().split('+')]
components.sort()
for i in range(len(components) - 1):
	print(components[i], '+', sep='', end='')
print(components[-1])


x = input()
a = []
b = ''
for i in x:
	if i == '+':
		z = a
	else:
		a.append(i)
a.sort()
g = a[-1]
a = a[:-1]
for c in a:
	b = str(b) + str(c) + '+'
print(str(b) + str(g))


def a():
	s = list(map(int, input().split('+')))
	mergeSort(s)
	print('%s' % '+'.join(map(str, s)))

def mergeSort(alist):
	if len(alist) > 1:
		mid = len(alist) // 2
		lefthalf = alist[:mid]
		righthalf = alist[mid:]
		mergeSort(lefthalf)
		mergeSort(righthalf)
		i = 0
		j = 0
		k = 0
		while i < len(lefthalf) and j < len(righthalf):
			if lefthalf[i] < righthalf[j]:
				alist[k] = lefthalf[i]
				i = i + 1
			else:
				alist[k] = righthalf[j]
				j = j + 1
			k = k + 1
		while i < len(lefthalf):
			alist[k] = lefthalf[i]
			i = i + 1
			k = k + 1
		while j < len(righthalf):
			alist[k] = righthalf[j]
			j = j + 1
			k = k + 1
a()


inp = sorted([int(i) for i in input().split('+')])
s = ''
for i in inp:
	s += str(i) + '+'
print(s[:-1])


ar = [int(x) for x in input().split('+')]
ar.sort()
s = ''
for i in ar:
	s += str(i) + '+'
s = s.strip('+')
print(s)


statement = input().split('+')
for i in range(len(statement)):
	statement[i] = int(statement[i])
statement.sort()
st = ''
for num in statement:
	st = st + str(num) + '+'
final = st[:-1]
print(final)


a = input()
lstnum = a.split('+')
lstnum.sort()
ans = '+'
print(ans.join(lstnum))


n = input()
c = []
i = 1
while i <= len(n):
	c.append(n[i - 1])
	i = i + 2
c.sort()
print(*c, sep='+')


n = input()
f = []
for x in n:
	f.append(x)
	f.sort()
	if '+' in f:
		f.remove('+')
s = '+'
r = '+'.join(map(str, f))
print(r)


s = input()
s = s.split('+')
l = len(s)
for i in range(l):
	for j in range(l - 1):
		if s[j] > s[j + 1]:
			min = s[j + 1]
			s[j + 1] = s[j]
			s[j] = min
t = ''
for k in range(l - 1):
	t = t + s[k] + '+'
t = t + s[l - 1]
print(t)


import math
import sys
n = input().split('+')
c1 = 0
c2 = 0
c3 = 0
c = 0
for i in range(len(n)):
	if n[i] == '1':
		c1 = c1 + 1
	elif n[i] == '2':
		c2 = c2 + 1
	else:
		c3 = c3 + 1
for i in range(c1):
	if c != 0:
		sys.stdout.write('+')
	else:
		c = 1
	sys.stdout.write('1')
for i in range(c2):
	if c != 0:
		sys.stdout.write('+')
	else:
		c = 1
	sys.stdout.write('2')
for i in range(c3):
	if c != 0:
		sys.stdout.write('+')
	else:
		c = 1
	sys.stdout.write('3')


inp = input().split('+')
arr = []
for i in inp:
	arr.append(int(i))
arr.sort()
outp = ''
for i in arr:
	outp += str(i) + '+'
print(outp[:len(outp) - 1])


s = input()
lst = []
for i in s:
	if i == '+':
		pass
	else:
		lst.append(int(i))
lst.sort()
for i in range(len(lst)):
	if i < len(lst) - 1:
		print(str(lst[i]) + '+', end='')
	else:
		print(str(lst[i]))


listt = input().split('+')
listt.sort()
answer = '+'.join(listt)
print(answer)


s = input()
nums = [s[2 * i] for i in range(len(s) // 2 + 1)]
output = ''
for num in sorted(nums)[:-1]:
	output += num + '+'
output += sorted(nums)[-1]
print(output)


s = input()
s1: str = ''
for i in range(s.__len__()):
	if i % 2 == 0:
		s1 += s[i]
y = int(s1)
asc = ''.join(sorted(str(y)))
z: str = ''
for k in range(asc.__len__()):
	if k < asc.__len__() - 1:
		z += str(asc[k]) + '+'
	else:
		z += str(asc[k])
print(z)


texto = input('')
lista = texto.split('+')
lista.sort()
n = len(texto)
p = len(lista)
T2 = ''
for i in range(p):
	T1 = str(lista[i]) + '+'
	T2 = T2 + T1
print(T2.strip('+'))


s = input()
(one, two, thr) = (0, 0, 0)
for i in s:
	if i == '1':
		one += 1
	elif i == '2':
		two += 1
	elif i == '3':
		thr += 1
for i in s:
	if i == '+':
		print(i, end='')
	elif one > 0:
		print('1', end='')
		one -= 1
	elif two > 0:
		print('2', end='')
		two -= 1
	elif thr > 0:
		print('3', end='')
		thr -= 1


expression = input()
digits = sorted(expression.split('+'))
print('+'.join(digits))


a = list(map(int, input().split('+')))
b = sorted(a)
if len(a) >> 1:
	res = '+'.join((str(x) for x in b))
	print(res)
else:
	print(a[0])


user_input = input().split('+')
user_input.sort()
print('+'.join(user_input))


s = input()
d = list(s)
a = []
for i in range(0, len(d), +2):
	k = int(d[i])
	a.append(k)
a.sort()
if len(s) == 1:
	print(s)
else:
	for i in range(len(a) - 1):
		print(a[i], end='+')
	print(a[len(a) - 1])


s = input()
f = ''
l = s.split('+')
for x in range(len(l)):
	l[x] = int(l[x])
l.sort()
for y in range(len(l)):
	if y == len(l) - 1:
		f += str(l[y])
	else:
		f += str(l[y]) + '+'
print(f)


old = input().split('+')
mid = [int(x) for x in old]
mid.sort()
new = [str(x) for x in mid]
out = '+'.join(new)
print(out)


t = input()
t = list(t)
a = []
i = 0
while i <= len(t) - 1:
	a.append(t[i])
	i = i + 2
a.sort()
for i in range(0, len(a) - 1):
	print(a[i], end='+')
print(a[len(a) - 1])


math = input()
mathsplit = math.split('+')
mathsplit.sort()
for i in range(len(mathsplit) - 1):
	if len(mathsplit) == 1:
		print(mathsplit)
		break
	print(mathsplit[i], end='+')
print(mathsplit[len(mathsplit) - 1])


a = input()
b = []
m = []
from collections import Counter
if len(a) == 1:
	print(a)
else:
	z = Counter(a)
	z.pop('+')
	for (k, v) in z.items():
		for j in range(v):
			b.append(k)
	b.sort()
	for i in b:
		m.append(i)
		m.append('+')
	m.pop(-1)
	print(''.join(map(str, m)))


ch = input()
res = ''
if len(ch) == 1:
	print(ch)
else:
	l = ch.split('+')
	for i in range(len(l)):
		c = min(l)
		l.remove(c)
		res = res + c + '+'
	res = res[:len(ch)]
	print(res)


a = input()
b = []
s = ''
for i in a:
	if i == '+':
		b.append(int(s))
		s = ''
	else:
		s += i
b.append(int(s))
for i in range(len(b)):
	for j in range(len(b) - i - 1):
		if b[j] > b[j + 1]:
			s = b[j]
			b[j] = b[j + 1]
			b[j + 1] = s
if len(b) > 1:
	if b[0] > b[1]:
		s = b[1]
		b[1] = b[0]
		b[0] = s
print(b[0], end='')
for i in range(len(b) - 1):
	print('+' + str(b[i + 1]), end='')


l = [int(i) for i in input().split('+')]
l.sort()
l = [str(i) for i in l]
l = '+'.join(l)
print(l)


s = input()
forbidden = ['+', 0]
numbers = [x for x in s if x not in forbidden]
print('+'.join(sorted(numbers)))


math = input()
math = math.split('+')
math.sort()
new = ''
for i in math:
	new = new + f'{i}+'
new = new.rstrip('+')
print(new)


test1 = input()
arr = test1.split('+')
for i in range(len(arr)):
	arr[i] = int(arr[i])
arr.sort()
for i in range(len(arr)):
	if i != len(arr) - 1:
		print(str(arr[i]) + '+', end='')
	else:
		print(str(arr[i]), end='')


biu = [int(x) for x in input().split('+')]
biu.sort()
for i in range(len(biu)):
	biu[i] = str(biu[i])
print('+'.join(biu))


s = input()
x = list('1+' * s.count('1') + '2+' * s.count('2') + '3+' * s.count('3'))
del x[len(x) - 1]
print(''.join(x))


mathQuestion = [int(i) for i in input().split('+')]
result = ''
for i in range(0, len(mathQuestion)):
	for j in range(1, len(mathQuestion)):
		if mathQuestion[j] < mathQuestion[j - 1]:
			(mathQuestion[j], mathQuestion[j - 1]) = (mathQuestion[j - 1], mathQuestion[j])
print(*mathQuestion, sep='+', end='')


a = [int(s) for s in input().split('+')]
print('+'.join([str(s) for s in sorted(a)]))


s = input()
s = s.split('+')
sInt = []
for i in range(len(s)):
	sInt.append(int(s[i]))
sInt.sort()
for i in range(len(sInt)):
	print(sInt[i], end='')
	if i < len(sInt) - 1:
		print('+', end='')


s = input()
l = []
for i in s:
	if i != '+':
		l.append(i)
l.sort()
print(l[0], end='')
for i in l[1:]:
	print('+' + i, end='')


s = input()
l = list(s)
x = []
for i in range(len(l)):
	if l[i] != '+':
		x.append(l[i])
x.sort()
for j in range(len(x)):
	if j == len(x) - 1:
		print('{}'.format(x[j]), end='')
	else:
		print('{}+'.format(x[j]), end='')


suma = input().split('+')
suma.sort()
suma_bien = '' + suma[0]
n = len(suma)
for i in range(1, n):
	suma_bien = suma_bien + '+' + suma[i]
print(suma_bien)


s = input()
li = []
for i in range(len(s)):
	try:
		a = int(s[i])
		li.append(a)
	except:
		continue
li.sort()
print(*li, sep='+')


a = input().split('+')
b = [int(i) for i in a]
b = sorted(b, reverse=False)
b = [str(f) for f in b]
b = '+'.join(b)
print(b)


s = input()
s = s.replace('+', '')
s = sorted(s)
f = ''
for i in range(len(s)):
	f += s[i]
	if i == len(s) - 1:
		break
	else:
		f += '+'
print(f)


a = list(input())
s = []
for i in range(0, len(a), 2):
	s.append(a[i])
s.sort()
print(s[0], end='')
for i in range(1, len(s)):
	print('+' + str(s[i]), end='')


st = input()
c1 = c2 = c3 = 0
for i in range(0, len(st), 2):
	if st[i] == '1':
		c1 += 1
	elif st[i] == '2':
		c2 += 1
	else:
		c3 += 1
ans = '1+' * c1 + '2+' * c2 + '3+' * c3
print(ans[:-1])


n = input()
if len(n) > 2:
	l = n.split('+')
	v = []
	string = ''
	for i in l:
		v.append(int(i))
	v.sort()
	string = str(v[0])
	i = 1
	while i < len(v):
		string = string + '+' + str(v[i])
		i += 1
	print(string)
else:
	print(n)


x = list(input())
for i in range(x.count('+')):
	x.remove('+')
x.sort()
c = ''
for i in x:
	c = c + i
print('+'.join(c))


s = str(input())
l = s.split('+')
l.sort()
s = '+'.join(l)
print(s)


s = input()
s = s.split('+')
l = sorted(s)
b = '+'.join(l)
print(b)


numbers = [i for i in input().split('+')]
final = ''
for number in sorted(numbers):
	final += '+' + number
print(final[1:])


def testcase(k):
	k.sort()
	a = '+'.join(k)
	return a
k = input()
print(testcase(k.split('+')))


s = str(input())
l = len(s)
ss = []
k1 = s.count('1')
k2 = s.count('2')
k3 = s.count('3')
for i in range(k1):
	ss.append('1')
	ss.append('+')
for i in range(k2):
	ss.append('2')
	ss.append('+')
for i in range(k3):
	ss.append('3')
	ss.append('+')
for i in range(l):
	print(ss[i], end='')


num = input().split('+')
num.sort()
mylist = ''
for i in num:
	mylist += i + '+'
print(mylist[:-1])


var = input()
plus = '+'
new = []
for i in var:
	new.append(i)
kek = []
discard = []
for i in range(len(new)):
	if new[i] == '+':
		discard.append(new[i])
	else:
		kek.append(new[i])
kek.sort()
a = tuple(kek)
print(plus.join(a))


from sys import stdin
n = stdin.readline().strip().split('+')
n.sort()
print('+'.join(n))


l = list(input().replace('+', ''))
l.sort()
str = ''
max = len(l)
for i in range(len(l)):
	if max - i == 1:
		str = str + l[i]
	else:
		str = str + l[i] + '+'
print(str)


result = ''
s = sorted(input().strip('+').split('+'))
for sym in s:
	result += sym + '+'
print(result.strip('+'))


import sys
S = [int(i) for i in sys.stdin.readline().split('+')]
S.sort()
B = ''
for i in S:
	B += str(i) + '+'
B = B[:-1]
print(B)


from collections import Counter

def helpfulMath():
	c = Counter(input().strip())
	ones = ['1' for i in range(c['1'])]
	twos = ['2' for i in range(c['2'])]
	threes = ['3' for i in range(c['3'])]
	res = ''
	if ones:
		res += '+'.join(ones)
	if twos:
		if res:
			res += '+' + '+'.join(twos)
		else:
			res += '+'.join(twos)
	if threes:
		if res:
			res += '+' + '+'.join(threes)
		else:
			res += '+'.join(threes)
	return res
print(helpfulMath())


x = input().split('+')
y = list(map(int, x))
y = sorted(y)
z = ''
for val in y:
	z += str(val)
	z += '+'
print(z[0:-1])


x = input()
if len(x) == 1:
	print(x)
else:
	a = []
	b = []
	for i in x:
		if i != '+':
			a.append(i)
			b.append('+')
	a.sort()
	del b[0]
	j = 0
	for i in range(0, len(a)):
		print(a[i], end='')
		print(b[j], end='')
		if i == len(a) - 2:
			print(a[i + 1], end='')
			break
		else:
			j += 1


n = list(map(int, input().split('+')))
n.sort()
m = list(map(str, n))
print('+'.join(m))


def hm(s):
	s1 = s.replace('+', '')
	s2 = sorted(s1)
	for x in range(len(s2)):
		if x == len(s2) - 1:
			print(s2[x])
		else:
			print(s2[x] + '+', end='')
s = input()
hm(s)


s = input()
i = []
if len(s) <= 100 and s != '':
	if ' ' not in s:
		numbers = s.split('+')
		for _ in numbers:
			i.append(int(_))
		s = sorted(i)
		final = '+'.join([str(x) for x in s])
		print(final)


s = input()
s1 = sorted(list(s.replace('+', '')))
print('+'.join(s1))


w = list(map(int, input().split('+')))
w.sort()
string = ''
for x in range(0, len(w) - 1):
	string += str(w[x]) + '+'
string += str(w[-1])
print(string)


b = input()
a = b.split('+')
c = len(a)
a = list(a)
a.sort()
m = 0
k = 0
while m < c:
	print(end=str(a[m]))
	if m != c - 1:
		print(end='+')
	m = m + 1


from __future__ import print_function
l = list(map(str, input().split('+')))
l.sort()
print(*l, sep='+')


def main():
	s = input()
	numbers = [0] * 3
	for c in s:
		if c == '1' or c == '2' or c == '3':
			numbers[int(c) - 1] += 1
	is_first = True
	for i in range(len(numbers)):
		for j in range(numbers[i]):
			numbers[i] -= 1
			if not is_first:
				print('+', end='')
			else:
				is_first = False
			print(i + 1, end='')
	print()
main()


def insertionSort(alist):
	for index in range(1, len(alist)):
		currentvalue = alist[index]
		position = index
		while position > 0 and alist[position - 1] > currentvalue:
			alist[position] = alist[position - 1]
			position = position - 1
		alist[position] = currentvalue
string = str(input(''))
if len(string) > 2:
	string = string.split('+')
	insertionSort(string)
	string = '+'.join(string)
print(string)


calculation = input().split('+')
calculation.sort()
result = ''
for index in range(len(calculation) - 1):
	result += f'{calculation[index]}+'
result += calculation[-1]
print(result)


def fun(s):
	lst = s.split('+')
	lst.sort()
	return '+'.join(lst)
print(fun(input()))


import re
p = re.compile('(\\d+)\\+?')
s = input()
r = p.findall(s)
r.sort()
for i in range(len(r) - 1):
	print(r[i], end='+')
print(r[-1])


s = input().split('+')
s = sorted(s)
text = ''
for i in s:
	text += i + '+'
print(text[:-1])


from collections import Counter
a = input()
cnt = Counter(a)
res = '+'.join(['+'.join([i] * cnt[i]) for i in '123' if i in cnt])
print(res)


summa = input().split('+')
s = []
for i in summa:
	s.append(i)
s.sort()
for i in range(0, len(s) - 1):
	print(s[i], end='+')
print(s[len(s) - 1])


str1 = input()
arr = []
length = 0
for j in str1:
	if j == '+':
		continue
	arr.append(int(j))
n = len(arr)
for i in range(1, n):
	key = arr[i]
	j = i - 1
	while j >= 0 and key < arr[j]:
		arr[j + 1] = arr[j]
		j -= 1
	arr[j + 1] = key
index = 1
for x in arr:
	print(x, end='')
	if index < n:
		print('+', end='')
	index += 1


from collections import Counter
inputSeq = str(input())
inputSeq = ''.join(sorted(inputSeq))
if len(inputSeq) < 2:
	print(inputSeq)
else:
	n = int(len(inputSeq) / 2)
	numString = inputSeq[n:]
	print('+'.join(numString))


cLine = input()
split1 = cLine.split('+')
split1.sort()
print('+'.join(split1))


dick = input()
pussy = dick.split('+')
results = list(map(int, pussy))
results.sort()
mgtow = ''
for (i, k) in enumerate(results):
	mgtow = mgtow + str(k) + '+'
mgtow = mgtow[:-1]
print(mgtow)


n = list(input())
if len(n) == 1:
	print(n[0])
else:
	ans = []
	for i in n:
		if i != '+':
			ans.append(int(i))
	ans.sort()
	for i in range(len(ans)):
		if i != len(ans) - 1:
			print(ans[i], '+', sep='', end='')
		else:
			print(ans[i], sep='')


s = input()
p = []
one = 0
for i in s:
	if i != '+':
		if i == '3':
			p.append(3)
		if i == '1':
			p.insert(0, 1)
			one += 1
		if i == '2':
			p.insert(one, '2')
for i in range(len(p) - 1):
	print(str(p[i]) + '+', end='')
print(str(p[-1]))


ch = input()
x = ch.split('+')
x.sort()
ch2 = '+'.join(x)
print(ch2)


ar = list(input().rstrip().split('+'))
ar.sort()
print('+'.join(ar))


a = input()
a = a.split('+')
a.sort()
b = []
for i in a:
	b.append(i)
	b.append('+')
b.pop()
print(''.join(b))


input_str = str(input())
numbers_list = input_str.split('+')
numbers_list.sort()
print('+'.join(numbers_list))


s = input()
string = []
for i in range(len(s)):
	if s[i] in ['1', '2', '3']:
		string.append(s[i])
string.sort()
print('+'.join([str(i) for i in string]))


s1 = input()
if len(s1) > 1:
	l = list(map(int, s1.split('+')))
	l2 = sorted(l)
	print(l2[0], end='')
	for j in range(1, len(l2)):
		print('+', l2[j], sep='', end='')
else:
	print(s1)


a = list(input().split('+'))
k = len(a)
b = list(map(int, a))
b.sort()
b = list(map(str, b))
s = '+'
c = s.join(b)
print(c)


a = input()
l = a.split('+')
m = [int(i) for i in l]
m.sort()
n = [str(i) for i in m]
f = '+'.join(n)
print(f)


s = list(input(''))
new_s = sorted(list(filter('+'.__ne__, s)))
print('+'.join(new_s))


a = input()
b = list(a)
numbers = ('1', '2', '3')
for i in b:
	if i == '+':
		b.remove(i)
c = sorted(b)
d = ''.join(c)
for i in numbers:
	if i in d:
		d = d.replace(i, i + '+')
print(d[:-1])


def sum_order():
	sum = input().split('+')
	one = 0
	two = 0
	three = 0
	for x in sum:
		x = int(x)
		if x == 1:
			one = one + 1
		elif x == 2:
			two = two + 1
		else:
			three = three + 1
	order_list = one * [1] + two * [2] + three * [3]
	i = 0
	for number in order_list:
		if i == 0:
			summon = f'{number}'
			i = i + 1
		else:
			summon = f'{summon}+{number}'
	print(summon)
sum_order()


name = list(map(int, input().split('+')))
name.sort(key=int)
for i in range(0, len(name) - 1):
	print(name[i], end='+')
print(name[len(name) - 1])


lis = input()
cal = []
for i in range(0, len(lis), 2):
	cal += lis[i]
cal.sort()
print('+'.join(cal))


s = input()
li = []
for i in s:
	if i.isdigit():
		li.append(i)
li.sort()
for i in range(0, len(li) - 1):
	print(li[i], end='+')
print(li[len(li) - 1])


s = sorted(input().split('+'))
f = ''
for element in s:
	if not f:
		f += element
	else:
		f += '+' + element
print(f)


equation = input()
nums = equation.split('+')
eq = sorted(nums, key=int)
ans = ''
for num in eq:
	ans += num + '+'
ans = ans[:-1]
print(ans)


s = input()
sp = []
ss = ''
for i in s:
	if i != '+':
		sp.append(int(i))
sp.sort()
for i in range(len(sp)):
	ss += str(sp[i])
	ss += '+'
print(ss[0:len(ss) - 1])


s = str(input())
l = []
for i in range(len(s)):
	if s[i].isdigit():
		l.append(s[i])
l.sort()
w = str(l[0])
for i in l[1:]:
	w += '+' + str(i)
print(w)


nums = input().split('+')
num = sorted(nums)
s = '+'
s = s.join(num)
print(s)


m = sorted(input())
s = m[m.count('+'):]
print(*s, sep='+')


from sys import stdin
A = stdin.readline()
B = len(A)
k = 0
count1 = 0
count2 = 0
count3 = 0
while k <= B - 1:
	if A[k] == '1':
		count1 += 1
	elif A[k] == '2':
		count2 += 1
	else:
		count3 += 1
	k += 2
U = count1 + count2 + count3
ans = ''
for u in range(0, count1):
	if u == U - 1:
		ans += '1'
	else:
		ans += '1+'
for v in range(0, count2):
	if count1 + v == U - 1:
		ans += '2'
	else:
		ans += '2+'
for w in range(0, count3):
	if w == count3 - 1:
		ans += '3'
	else:
		ans += '3+'
print(ans)


digits = [int(x) for x in input().split('+')]
digits = [str(x) for x in sorted(digits)]
print('+'.join(digits))


s = [str(i) for i in input().split('+')]
s.sort()
for i in range(len(s)):
	if i != len(s) - 1:
		print('{0}+'.format(s[i]), end='')
	else:
		print(s[i])


s = input()
s = s.replace('+', '')
new = ''
for n in range(1, 4):
	for i in range(len(s)):
		if str(n) == s[i]:
			new += s[i]
print('+'.join(new))


s = list(input().split('+'))
if len(s) > 1:
	s.sort()
	res = s[0]
	for i in s[1:]:
		res += '+' + i
	print(res)
else:
	print(s[0])


string = input()
arr = string.split('+')
i = 0
count1 = 0
count2 = 0
count3 = 0
while i < len(arr):
	if arr[i] == '1':
		count1 += 1
	elif arr[i] == '2':
		count2 += 1
	elif arr[i] == '3':
		count3 += 1
	i += 1
newString = ''
i = 0
while i < count1:
	newString += '1+'
	i += 1
i = 0
while i < count2:
	newString += '2+'
	i += 1
i = 0
while i < count3:
	newString += '3+'
	i += 1
newString = newString[:-1]
print(newString)


str = input().split('+')
str.sort()
length = len(str)
new_str = ''
for i in range(length - 1):
	new_str += str[i] + '+'
new_str += str[length - 1]
print(new_str)


s = input()
a = []
for i in range(0, len(s), 2):
	a.append(s[i])
a.sort()
for i in range(len(a) - 1):
	print(a[i], '+', end='', sep='')
print(a[-1], sep='')


s = input()
l = s.split('+')
l.sort()
l1 = []
for x in range(len(l)):
	l1.append(l[x])
	if x != len(l) - 1:
		l1.append('+')
print(''.join(l1))


def solve(summmarize):
	operand = ''
	for i in range(len(summmarize)):
		for j in range(i + 1, len(summmarize)):
			if int(summmarize[i]) > int(summmarize[j]):
				temp = summmarize[i]
				summmarize[i] = summmarize[j]
				summmarize[j] = temp
	for j in range(len(summmarize)):
		if j == len(summmarize) - 1:
			operand = operand + summmarize[j]
		else:
			operand += summmarize[j] + '+'
	return operand
a = input().split('+')
print(solve(a))


s = input()
i = 0
l = []
while i < len(s):
	l.append(s[i])
	i = i + 2
l.sort()
x = l[0]
j = 1
while j < len(l):
	x = x + '+' + l[j]
	j = j + 1
print(x)


a = [int(s) for s in input().split('+')]
n1 = a.count(1)
n2 = a.count(2)
n3 = len(a) - n2 - n1
c = ['1' for i in range(n1)]
c.extend(['2' for i in range(n2)])
c.extend(['3' for i in range(n3)])
print('+'.join(c))


s = input()
s = list(s)
arr = []
for i in range(len(s)):
	if s[i] != '+':
		arr.append(s[i])
arr.sort()
i = 0
while i <= len(arr) - 1:
	if i != len(arr) - 1:
		print(arr[i] + '+', end='')
		i += 1
	else:
		print(arr[i])
		i += 1
print()


try:
	a = input()
	l = list(a)
	m = []
	for i in range(0, len(l), 2):
		m.append(l[i])
	m.sort()
	for i in range(1, len(l), 2):
		m.insert(i, '+')
	print(''.join(m))
except:
	pass


n = input()
k = n.replace('+', ' ')
mas = k.split()
list.sort(mas)
print('+'.join(map(str, mas)))


n = input()
l = []
for i in n:
	if i == '1' or i == '2' or i == '3':
		l.append(i)
m = sorted(l)
k = ''
for j in m:
	k += j
h = '+'.join(k)
print(h)


s = input()
p = ''
for i in range(len(s)):
	if i % 2 == 0:
		p = p + s[i]
sor = sorted(list(p))
p2 = ''
for i in sor:
	p2 = p2 + i + '+'
print(p2[:len(p2) - 1])


str1 = input().replace('+', '')
ones = []
twos = []
threes = []
answer = ''
for i in str1:
	if i == '1':
		ones.append(i)
	elif i == '2':
		twos.append(i)
	else:
		threes.append(i)
for i in range(len(ones)):
	answer += '1+'
for i in range(len(twos)):
	answer += '2+'
for i in range(len(threes)):
	answer += '3+'
print(answer[:-1])


a = input('')
ad = [None] * int((len(a) + 1) / 2)
for i in range(0, int((len(a) + 1) / 2)):
	ad[i] = int(a[2 * i])
ad.sort()
print(ad[0], end='')
for i in range(1, int((len(a) + 1) / 2)):
	print('+', ad[i], sep='', end='')


s = input()
lst = s.split('+')
lst.sort()
flst = list()
o = ''
for i in range(len(lst)):
	flst.append(lst[i] + '+')
for z in range(len(flst)):
	o = o + flst[z]
st = o[0:len(lst) + len(lst) - 1]
print(st)


a = [str(i) for i in input().split('+')]
a = sorted(a)
for i in a[:-1]:
	print(i, end='+')
print(a[-1])


x = list(map(int, input().split('+')))
for i in range(len(x)):
	for j in range(i):
		if x[i] < x[j]:
			(x[i], x[j]) = (x[j], x[i])
for i in range(len(x)):
	if i == len(x) - 1:
		print(x[i])
		break
	print(x[i], end='+')


s = input()
a = []
for i in range(len(s)):
	if s[i] == '1':
		a.append('1')
	elif s[i] == '2':
		a.append('2')
	elif s[i] == '3':
		a.append('3')
a.sort()
for i in range(len(a) - 1):
	print(a[i], end='')
	print('+', end='')
print(a[len(a) - 1])


def maths(a):
	a.split('+')
	a = sorted(a)
	s = ''
	a = a[int(len(a) / 2):]
	for i in a:
		s = s + str(i) + '+'
	print(s[:len(s) - 1])
a = input()
maths(a)


from sys import stdin, stdout

def get_ints():
	return map(int, stdin.readline().strip().split())

def get_array():
	return list(map(int, stdin.readline().strip().split()))

def get_string():
	return stdin.readline().strip()

def op(c):
	return stdout.write(str(c))
s = get_string()
a = []
for i in s:
	if i != '+':
		a.append(int(i))
a.sort()
for i in range(len(a)):
	if i == len(a) - 1:
		print(a[i], end='')
	else:
		print(a[i], '+', end='', sep='')


math = input()
num1 = 0
num2 = 0
num3 = 0
for i in range(0, len(math), 2):
	if math[i] == '1':
		num1 = num1 + 1
	elif math[i] == '2':
		num2 = num2 + 1
	elif math[i] == '3':
		num3 = num3 + 1
mathh = '1+' * num1 + '2+' * num2 + '3+' * num3
print(mathh[:-1])


testStr = input()
testList = testStr.split('+')
testList.sort()
for x in testList[:len(testList) - 1]:
	print(x, '+', end='', sep='')
print(testList[len(testList) - 1])


s = input()
l = s.split('+')
l.sort()
w = ''
for i in range(len(l)):
	w = w + '+' + l[i]
print(w[1:])


x = input()
a = []
result = ''
for i in range(len(x)):
	if x[i] != '+':
		a.append(x[i])
a.sort()
for j in range(len(a)):
	result += a[j] + '+'
print(result[0:len(result) - 1])


n = input()
s = []
for i in n:
	if i == '+':
		pass
	else:
		s.append(i)
s.sort()
x = 2 * len(s) - 1
for i in range(1, x, 2):
	s.insert(i, '+')
k = ''
for i in s:
	k += i
print(k)


from collections import OrderedDict
a = input()
l = a.split('+')
for i in range(len(l)):
	l[i] = int(l[i])
l.sort()
c = 0
for i in l:
	print(i, end='')
	c += 1
	if c != len(l):
		print('+', end='')


s = input()
l = [i for i in s.split('+')]
l.sort()
last = l.pop()
for i in range(len(l)):
	print(l[i] + '+', end='')
print(last)


stroka = input()
list_of_numbers = stroka.split('+')
for i in range(len(list_of_numbers)):
	list_of_numbers[i] = int(list_of_numbers[i])
list_of_numbers.sort()
for i in range(len(list_of_numbers) - 1):
	print(list_of_numbers[i], end='+')
print(list_of_numbers[-1])


str = input()
ll = str.split('+')
ll.sort()
answer = '+'.join(ll)
print(answer)


m = str(input())
print('+'.join(sorted(m.split('+'))) if len(m) > 0 else m)


a = input()
b = []
for i in range(0, len(a), 2):
	b.append(int(a[i]))
b.sort()
print(*b, sep='+')


digts = [int(n) for n in str.split(input(), '+')]
digts.sort()
print('+'.join([str(n) for n in digts]))


fin = sorted(input().split('+'))
print('+'.join(fin))


str1 = input()
arr = []
for i in range(0, len(str1)):
	if i % 2 == 0:
		arr.append(str1[i])
arr.sort()
for i in range(0, len(arr)):
	if i != len(arr) - 1:
		print(arr[i], end='')
		print('+', end='')
	else:
		print(arr[i])


s = input()
num = []
i = 0
while i <= len(s) - 1:
	num.append(s[i])
	i = i + 2
num.sort()
ans = ''
for i in range(len(num)):
	ans = ans + str(num[i])
	if i != len(num) - 1:
		ans = ans + '+'
print(ans)


s = input()
s1 = []
for i in range(0, len(s) + 1, 2):
	s1.append(int(s[i]))
s1.sort(key=int)
for i in range(len(s1)):
	if i != len(s1) - 1:
		print(s1[i], end='+')
	else:
		print(s1[i])


t = input()
f = ''
if t.find('+') == -1:
	print(t)
else:
	s = sorted(t.split('+'))
	for i in s:
		f += i + '+'
	print(f[:-1])


X = input().split('+')
X.sort()
X = '+'.join(X)
print(X)


x = input().split('+')
for i in range(len(x)):
	x[i] = int(x[i])
x.sort()
print(*x, sep='+')


a = input()
m = []
m1 = []
n = 1
for i in range(len(a)):
	if a[i] != '+':
		m.append(int(a[i]))
while n < len(m):
	for i in range(len(m) - n):
		if m[i] > m[i + 1]:
			(m[i], m[i + 1]) = (m[i + 1], m[i])
	n += 1
for i in range(len(m)):
	if i == len(m) - 1:
		print(m[i], end=' ')
	else:
		print(m[i], end='+')


k = input()
k = k.replace('+', '')
k = sorted(k)
k = '+'.join([str(i) for i in k])
print(k)


s = input()
one = s.count('1')
two = s.count('2')
three = s.count('3')
a = '+1' * one + '+2' * two + '+3' * three
print(a[1:])


str_input = list(input())
str_len = len(str_input)
if str_len == 1:
	str_input = ''.join(str_input)
	print(str_input)
else:
	pos = 1
	while pos < str_len:
		del str_input[pos]
		pos += 1
		str_len -= 1
	pos = 0
	str_len = len(str_input)
	while pos < str_len:
		str_input[pos] = int(str_input[pos])
		pos += 1
	str_input.sort()
	pos = 0
	while pos < str_len:
		str_input[pos] = str(str_input[pos])
		pos += 1
	pos = 1
	while pos < str_len:
		str_input.insert(pos, '+')
		pos += 2
		str_len += 1
	str_input = ''.join(str_input)
	print(str_input)


line = input().split('+')
order = []
for i in line:
	order.append(int(i))
order.sort()
output = ''
a = len(order)
for i in range(a - 1):
	output = output + str(order[i]) + '+'
output = output + str(order[a - 1])
print(output)


s = str(input())
lst = list(s)
lst1 = list(s)
index = -1
for i in lst1:
	index += 1
	if i == '+':
		lst.pop(index)
		index -= 1
lst.sort()
len = len(lst)
count = 0
for i in lst:
	count += 1
	print(i, end='')
	if len != count:
		print('+', end='')


s = input()
no = (i for i in s[::2])
print('+'.join(sorted(no)))


start = input()
numbers = []
number = []
for ch in range(len(start)):
	numbers = start.replace('+', '')
while len(numbers) > 0:
	for i in range(numbers.count(min(numbers))):
		number.append(min(numbers))
	numbers = numbers.replace(min(numbers), '')
for i in range(0, len(number) - 1):
	print(number[i] + '+', end='')
print(number[len(number) - 1])


from sys import stdin
input = stdin.readline
number = sorted(list(map(int, input().split('+'))))
for n in range(len(number)):
	print(number[n], end='')
	if n != len(number) - 1:
		print('+', end='')


x = input()
a = [None] * len(x)
(c, d, e) = (0, 0, 0)
for i in range(0, len(x)):
	if x[i] == '1':
		c += 1
	elif x[i] == '2':
		d += 1
	elif x[i] == '3':
		e += 1
a = [None] * (c + d + e)
for i in range(0, c):
	a[i] = 1
for i in range(c, c + d):
	a[i] = 2
for i in range(c + d, c + d + e):
	a[i] = 3
print(*a, sep='+')


s1 = input()
s1_array = s1.split('+', len(s1))
s1_sorted = sorted(s1_array)
count = 1
for x in s1_sorted:
	if count == len(s1_sorted):
		print(x, end='')
	else:
		print(x + '+', end='')
	count += 1


ch = ''
ch1 = ''
sum = input().split('+')
s = [int(x) for x in sum]
s.sort()
for i in s:
	ch = str(i) + '+'
	ch1 += ch
print(ch1[0:len(ch1) - 1])


import sys
s = input().split('+')
s.sort()
n = len(s)
for i in range(n - 1):
	print(s[i], end='+')
print(s[n - 1])


print('+'.join([str(x) for x in list(sorted([int(x) for x in input().split('+')]))]))


ipt = input('')
lst = ipt.split('+')
srt = sorted(lst)
cnt = 0
for i in srt:
	if len(srt) == 1:
		print(i)
	elif cnt == len(srt) - 1:
		print(i)
	else:
		print(i, end='+')
	cnt += 1


input_ar = list(map(str, input().split('+')))
input_ar.sort()
print('+'.join(input_ar))


s = input()
ar = []
for i in range(len(s)):
	if i % 2 == 0:
		ar.append(int(s[i]))
ar.sort()
st = ''
for i in range(len(ar)):
	st = st + str(ar[i]) + '+'
print(st[:len(st) - 1])


n = list(str(input('')))
for i in n:
	if i == '+':
		n.remove(i)
newN = sorted(n)
plus = '+'
print(plus.join(newN))


numbs = map(int, input().split('+'))
listy = list(numbs)
listy.sort()
final = ''
for ele in listy:
	final += str(ele) + '+'
final = final[:-1]
print(final)


import re

def main():
	res = ''
	s = input()
	arr = sorted(s)
	for i in range(len(arr)):
		if i == len(arr) - 1:
			res += arr[i]
		elif arr[i] != '+':
			res = res + arr[i] + '+'
	print(res)
main()


import math
n = list(map(str, input()))
n = [i for i in n if i != '+']
l = []
for i in range(math.ceil(len(n))):
	l.append(min(n))
	l.append('+')
	n.remove(min(n))
del l[len(l) - 1]
print(''.join(l))


a = input()
b = []
c = ''
for i in a:
	if i != '+':
		b.append(i)
b.sort()
c = b[0]
for i in range(1, len(b)):
	c += '+' + b[i]
print(c)


res = []
string1 = input()
list1 = []
res = [int(s) for s in string1.split('+') if s.isdigit()]
res.sort()
length = len(res)
for i in range(length):
	print(str(res[i]), end='')
	if i != length - 1:
		print('+', end='')


n = input()
l1 = list()
for i in range(len(n)):
	if n[i].isdigit():
		l1.append(n[i])
l1.sort()
y = 2 * len(l1) - 1
if y % 2 == 0:
	for i in range(y):
		if i % 2 == 0:
			l1.insert(i, '+')
else:
	for i in range(y):
		if i % 2 == 1:
			l1.insert(i, '+')
for i in l1:
	print(i, end='')


N = input('')
Long = len(N)
NA = []
if Long > 1:
	K = 0
	while K < Long:
		NA = NA + [int(N[K])]
		K = K + 2
	NA = sorted(NA)
	Res = ''
	for J in range(len(NA)):
		Res = Res + str(NA[J])
		if J < len(NA) - 1:
			Res = Res + '+'
	print(Res)
else:
	print(N)


s1 = input().split('+')
print('+'.join(sorted(s1)))


import sys

def rs():
	return sys.stdin.readline().rstrip()

def ri():
	return int(sys.stdin.readline())

def ria():
	return list(map(int, sys.stdin.readline().split()))

def ws(s):
	sys.stdout.write(s)
	sys.stdout.write('\n')

def wi(n):
	sys.stdout.write(str(n))
	sys.stdout.write('\n')

def wia(a, sep=' '):
	sys.stdout.write(sep.join([str(x) for x in a]))
	sys.stdout.write('\n')

def main():
	s = rs()
	a = sorted(s.split('+'))
	wia(a, '+')
main()


s = input()
d = []
for i in s:
	if i == '+':
		continue
	else:
		d.append(i)
d.sort()
for i in range(0, len(d)):
	if i < len(d) - 1:
		print(str(d[i]) + '+', end='')
	else:
		print(d[i])


s = input().split('+')
n = sorted(s)
string = ''
for i in range(len(n)):
	string += n[i]
	if i != len(n) - 1:
		string += '+'
print(string)


numbers = input().split('+')
for i in range(0, len(numbers)):
	numbers[i] = int(numbers[i])
numbers.sort()
for j in range(0, len(numbers)):
	if j == len(numbers) - 1:
		print(str(numbers[j]), end='')
	else:
		print(str(numbers[j]) + '+', end='')


list = [int(i) for i in input().split('+')]
list.sort()
a = len(list)
output = ''
for item in list:
	if a == 1:
		output += str(item)
	else:
		output += str(item) + '+'
	a -= 1
print(output)


n = input()
l = []
x = []
for i in n:
	if i.isdigit():
		l.append(int(i))
l.sort()
for i in range(len(l)):
	if i != len(l) - 1:
		x.append(l[i])
		x.append('+')
	else:
		x.append(l[i])
print(''.join(map(str, x)))


def main():
	equation = input()
	equation = equation.split('+')
	equation.sort()
	print('+'.join(equation))
main()


inp = input()
(one, two, three) = (inp.count('1'), inp.count('2'), inp.count('3'))
if three == 0:
	if two == 0:
		if one == 0:
			print()
		else:
			print('1+' * (one - 1) + '1')
	else:
		print('1+' * one + '2+' * (two - 1) + '2')
else:
	print('1+' * one + '2+' * two + '3+' * (three - 1) + '3')


def HelpfulMath():
	equation = input().strip().split('+')
	equation.sort()
	return '+'.join(equation)
a = HelpfulMath()
print(a)


n = input()
k = []
for i in n:
	if i == '+':
		pass
	else:
		k.append(int(i))
i = 0
k.sort()
l = len(k)
while i < l:
	if i != l - 1:
		print('{}+'.format(k[i]), end='')
	else:
		print('{}'.format(k[i]), end='')
	i = i + 1


s = input()
a = []
for i in range(len(s)):
	if ord(s[i]) != 43:
		a.append(s[i])
a.sort()
print(a[0], end='')
for i in range(1, len(a)):
	print('+', end='')
	print(a[i], end='')
print()


a = input().split('+')
a.sort()
z = ''
for i in range(len(a) - 1):
	z += a[i] + '+'
z += a[-1]
print(z)


s = input().split('+')
li = []
z = ''
for x in s:
	li.append(int(x))
li = sorted(li)
for y in li:
	z = z + (str(y) + '+')
print(z[0:len(z) - 1])


n = input()
one = 0
two = 0
three = 0
for i in range(0, len(n), 2):
	if int(n[i]) == 1:
		one += 1
	elif int(n[i]) == 2:
		two += 1
	else:
		three += 1
total = one + two + three
a = []
for i in range(0, one):
	a.append('1')
	a.append('+')
for i in range(0, two):
	a.append('2')
	a.append('+')
for i in range(0, three):
	a.append('3')
	a.append('+')
if a[len(a) - 1] == '+':
	a.pop()
for i in range(0, total * 2 - 1):
	print(a[i], end='')


sm = list(input().split('+'))
sm.sort()
for (i, n) in enumerate(sm):
	print(f'{n}', end='')
	if i != len(sm) - 1:
		print('+', end='')


r = sorted(input().split('+'))
print('+'.join(r))


numb = input().split('+')
numb.sort()
print('+'.join(numb))


import re
s = input()
x = re.split('[+]', s)
x.sort()
print('+'.join(x))


s = input()
l = []
for i in s:
	if i.isdigit():
		l.append(int(i))
l.sort()
print('+'.join(map(str, l)))


eqn = input()
a = []
for i in eqn:
	if i != '+':
		a.append(i)
a.sort()
res = '+'.join(a)
print(res)


sum1 = input().split('+')
sum1.reverse()
sum1.sort()
sum2 = ''
for number in sum1:
	sum2 = sum2 + '+' + number
print(sum2[1:])


check = input()
check = check.split('+')
check.sort()
print('+'.join(check))


line = sorted(input().split('+'))
count = len(line)
result = ''
while count != 0:
	result += line[-count]
	if count != 1:
		result += '+'
	count -= 1
print(result)


t = input()
A = []
B = []
C = []
for i in t:
	if i == '+':
		A.append(i)
	else:
		B.append(i)
		B.sort()
for j in range(len(B)):
	if len(A) > 0:
		k = j - 1
		a = B[j]
		c = A[k]
		C.append(a)
		C.append(c)
	else:
		a = B[j]
		C.append(a)
X = ''.join(C)
p = len(B) + len(A)
print(X[:p])


sumstr = input()
sumstr = sumstr.split('+')
sumstr.sort()
retstr = '+'.join(sumstr)
print(retstr)


a = [int(i) for i in input().split('+')]
for i in range(len(a)):
	for j in range(i, len(a)):
		if a[i] > a[j]:
			x = a[i]
			a[i] = a[j]
			a[j] = x
print(a[0], end='')
for i in range(1, len(a)):
	print('{0}{1}'.format('+', a[i]), end='')


nums = sorted([int(i) for i in input().split('+')])
for j in range(len(nums) - 1):
	print(str(nums[j]) + '+', end='')
print(nums[-1])


y = 0
arr = []
equ = input()
for _ in equ:
	if _ == '+':
		pass
	else:
		arr.append(_)
arr.sort()
for x in arr:
	y += 1
	if not y == len(arr):
		print(x + '+', end='')
	else:
		print(x)


numbers = list()
str = input()
for char in str:
	if char == '+':
		continue
	numbers.append(int(char))
numbers.sort()
len = len(numbers)
for i in range(0, len - 1):
	print(numbers[i], end='+')
print(numbers[len - 1])


st = list(map(int, input().split('+')))
st.sort()
print('+'.join(map(str, st)))


cal = input()
callist = cal.split('+')
callist.sort()
cal = '+'.join(callist)
print(cal)


n = [str(x) for x in input().split('+')]
n.sort()
ans = ''
for o in n:
	ans += o + '+'
print(ans[:-1])


s = input()
l = list(s)
l1 = []
k = []
for i in range(len(l)):
	if i % 2 == 0:
		l1.append(l[i])
li = sorted(l1)
for i in range(len(li)):
	k.append(li[i])
	k.append('+')
print(''.join(k[:-1]))


s = input()
t = len(s)
nb1 = 0
nb2 = 0
nb3 = 0
for i in range(0, t, 2):
	if s[i] == '1':
		nb1 += 1
	elif s[i] == '2':
		nb2 += 1
	else:
		nb3 += 1
if nb1 != 0:
	nb1 -= 1
	print(1, end='')
elif nb2 != 0:
	nb2 -= 1
	print(2, end='')
else:
	nb3 -= 1
	print(3, end='')
for _ in range(nb1):
	print('+', end='')
	print(1, end='')
for _ in range(nb2):
	print('+', end='')
	print(2, end='')
for _ in range(nb3):
	print('+', end='')
	print(3, end='')
print()


a = list(input().split('+'))
a.sort()
i = 0
while i <= len(a) - 2:
	print(a[i] + '+', end='')
	i += 1
print(a[len(a) - 1])


while True:
	try:
		line = str(input())
		line = line.replace('+', '')
		answer = list(line)
		answer.sort()
		print('+'.join(answer))
	except EOFError:
		break


s = input()
arr = list(s.split('+'))
sort_arr = sorted(arr)
s = '+'.join(sort_arr)
print(s)


s = input().split('+')
f = ''
s = sorted(s)
for i in s:
	f += '+'
	f += i
print(f[1:])


import sys
for line in sys.stdin:
	a = line.split()[0]
	ls = a.split('+')
	ls = sorted(ls)
	print('+'.join(ls))


s = input().split('+')
for i in range(len(s)):
	s[i] = int(s[i])
s.sort()
inc = ''
for j in range(len(s)):
	inc = inc + str(s[j]) + '+'
print(inc[:len(inc) - 1])


x = input()
y = x.split('+')
z = sorted(y)
k = '+'.join(z)
print(k)


s = input()
l = []
for i in s:
	if i.isnumeric():
		l.append(i)
if len(l) == 1:
	print(l[0])
else:
	l = sorted(l)
	for i in range(len(l)):
		if i != len(l) - 1:
			print(l[i] + '+', end='')
		else:
			print(l[i])


s = list(map(int, input().split('+')))
for i in range(0, len(s)):
	for j in range(i, len(s)):
		if s[i] > s[j]:
			x = s[i]
			s[i] = s[j]
			s[j] = x
print('+'.join(list(map(str, s))))


n = list(input().split('+'))
n.sort()
a = ''
for i in range(0, len(n)):
	if i != len(n) - 1:
		a = a + str(n[i]) + '+'
a = a + str(n[i])
print(a)


string = list(input())
nums = list()
ans = ''
for i in string:
	try:
		int(i)
		nums.append(i)
	except ValueError:
		continue
for i in sorted(nums):
	ans += str(i) + '+'
print(ans[:len(ans) - 1])


equation = input()
values = equation.split('+')
newEquation = ''
values.sort()
for i in values:
	newEquation = newEquation + i + '+'
print(newEquation.strip('+'))


q = input()
v = ''
w = []
for i in range(0, len(q), 2):
	w.append(int(q[i]))
w.sort()
for i in range(len(w)):
	if i == len(w) - 1:
		v = v + str(w[i])
	elif i == 0:
		v = str(w[i]) + '+'
	else:
		v = v + str(w[i]) + '+'
print(v)


def main():
	A = sorted(input().rstrip().split('+'))
	print('+'.join(A))
main()


y = str(input())
w = []
e = []
for i in y:
	w.append(i)
for j in w:
	if j == '+':
		continue
	e.append(j)
ee = sorted(e)
print('+'.join(ee))


ch = input().split('+')
l = [int(x) for x in ch]
l = sorted(l)
for i in range(len(l)):
	l[i] = str(l[i])
print('+'.join(l))


s = input()
l = s.split('+')
num = []
t = 0
while t < len(l):
	num.append(int(l[t]))
	t += 1
num.sort()
num1 = []
i = 0
while i < len(num):
	num1.append(str(num[i]))
	i += 1
out = num1[0]
j = 1
while j < len(num1):
	out = out + '+' + num1[j]
	j += 1
print(out)


omer = 0
qwerty = [int(i) for i in input().split('+')]
while omer < len(qwerty):
	plusiki = omer
	bigestnumber = omer
	while plusiki < len(qwerty):
		if qwerty[plusiki] < qwerty[bigestnumber]:
			bigestnumber = plusiki
		plusiki = plusiki + 1
	(qwerty[omer], qwerty[bigestnumber]) = (qwerty[bigestnumber], qwerty[omer])
	omer = omer + 1
stroka = str(qwerty[0])
plusiki = 1
while len(qwerty) > plusiki:
	stroka += '+' + str(qwerty[plusiki])
	plusiki = plusiki + 1
print(stroka)


string = input()
string2 = string.split('+')
string2.sort()
for c in range(0, len(string2)):
	if c == len(string2) - 1:
		print(string2[c], end='')
	else:
		print(string2[c] + '+', end='')


n1 = input()
n2 = sorted(n1)
for i in range((len(n2) - 1) // 2):
	print(n2[(len(n2) - 1) // 2 + i], end='+')
print(n2[-1])


nums = input().replace('+', '')
nums = sorted(nums)
print('+'.join(nums))


st = input()
n1 = st.split('+')
n = sorted(n1)
print('+'.join(n))


s = input()
list_s = list(s)
new_s = []
for i in sorted(list_s):
	if i in ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']:
		new_s.append(i)
print('+'.join(new_s))


l = input()
l = str(l)
s = l.split('+')
r = list(map(int, s))
r.sort()
r = map(str, r)
print('+'.join(r))


sum_input = input('')
numbers = []
for i in sum_input:
	if i != '+':
		numbers.append(int(i))
numbers = sorted(numbers)
ans = ''
for j in numbers:
	ans = ans + (str(j) + '+')
ans = ans[:-1]
print(ans)


s = str(input())
answer = ''
no_1 = 0
no_2 = 0
no_3 = 0
for i in range(0, len(s), 2):
	if s[i] == '1':
		no_1 += 1
	elif s[i] == '2':
		no_2 += 1
	else:
		no_3 += 1
for i in range(0, len(s), 2):
	if no_1 != 0:
		answer = answer + '1'
		no_1 += -1
	elif no_2 != 0:
		answer = answer + '2'
		no_2 += -1
	else:
		answer = answer + '3'
		no_3 += -1
	if i != len(s) - 1:
		answer = answer + '+'
print(answer)


input_data = [int(data) for data in input().split('+')]
input_data.sort()
print('+'.join([str(num) for num in input_data]))


from typing import List
a: List[int] = input().split('+')
b = sorted(a)
c = int(len(b))
for i in range(0, c):
	if i == c - 1:
		print(b[i])
	else:
		print(b[i], end='+')


s = input()
k = []
for i in s:
	if i.isdecimal():
		k.append(i)
k.sort()
if len(k) == 1:
	print(k[0])
else:
	for i in range(len(k) - 1):
		print(k[i], end='')
		print('+', end='')
	print(k[-1])


a = input()
k = []
k = a.split('+')
n = len(k)
for i in range(n):
	for j in range(n - i - 1):
		if k[j] > k[j + 1]:
			(k[j], k[j + 1]) = (k[j + 1], k[j])
for i in range(0, 1):
	print(k[i], end='', sep='')
for i in range(1, n):
	print('+', k[i], end='', sep='')


def temp(x):
	a = x.split('+')
	a.sort()
	for i in range(1, len(x) - 1, 2):
		a.insert(i, '+')
	b = ''.join(a)
	return b
x = input()
print(temp(x))


s = input().split('+')
s.sort()
ans = s[0]
for i in range(len(s)):
	if i == 0:
		continue
	ans = ans + '+' + s[i]
print(ans)


string1 = input()
string1 = [s1 for s1 in string1 if not s1 in '+']
x = sorted(string1)
x = '+'.join(x)
print(x)


string = input()
array = [int(each) for each in string.split('+')]
array.sort()
new_array = [str(each) for each in array]
print('+'.join(new_array))


s = list(input())
list1 = []
for i in range(len(s)):
	if s[i] != '+':
		list1.append(s[i])
	list1.sort()
for i in range(len(list1) - 1):
	print(list1[i], end='+')
print(list1[len(list1) - 1])


x = input()
l1 = []
for i in x:
	if i != '+':
		l1.append(int(i))
	else:
		continue
l1.sort()
s = ''
for i in l1:
	s += str(i)
	s += '+'
print(s[:-1])


l = list(map(int, input().split('+')))
l.sort()
print(l[0], end='')
for i in l[1:]:
	print('+{}'.format(i), end='')


import copy
temp = list(map(int, input().split('+')))
temp.sort()
temp = '+'.join((str(tep) for tep in temp))
print(temp)


def main():
	s = list(map(int, input().split('+')))
	s.sort()
	for n in s[:len(s) - 1]:
		print(n, end='+')
	print(s.pop())
main()


nums = input().split(sep='+')
nums.sort()
new_sum = ''
for x in nums:
	new_sum += x + '+'
new_sum = new_sum[:-1]
print(new_sum)


def func():
	str = input()
	value = str.split('+')
	value.sort()
	new = ''
	for d in range(len(value)):
		if d == len(value) - 1:
			new = new + value[d]
		else:
			new = new + value[d] + '+'
	print(new)
func()


a = []
b = ''
query = input().split('+')
for i in range(len(query)):
	a.append(min(query))
	del query[query.index(min(query))]
for j in range(len(a)):
	b += str(a[j])
	if j + 1 != len(a):
		b += '+'
print(b)


def Sol(arr):
	arr.sort()
	for i in arr[:len(arr) - 1]:
		print(str(i) + '+', end='')
	print(str(arr[len(arr) - 1]))
	return
arr = list(map(int, input().split('+')))
Sol(arr)


def main():
	a = input()
	mat = []
	mat = a.split('+')
	n = len(mat)
	for i in range(len(mat)):
		mat[i] = int(mat[i])
	q = 0
	w = 0
	e = 0
	for i in mat:
		if i == 1:
			q += 1
		elif i == 2:
			w += 1
		else:
			e += 1
	st = ''
	for i in range(q):
		st += '1+'
	for i in range(w):
		st += '2+'
	for i in range(e):
		st += '3+'
	st = st[:len(st) - 1]
	print(st)
main()


str = input()
list = []
for i in range(len(str)):
	if i % 2 == 0:
		list.append(int(str[i]))
list.sort()
for i in range(len(str)):
	if i % 2 == 0:
		print(list[int(i / 2)], end='')
	else:
		print('+', end='')
print()


eq = input().split('+')
eq.sort()
print(eq[0] + ''.join(('+' + i for i in eq[1:])))


a = input('')
a = a.replace('+', '')
x = sorted(a)
k = ''
for i in x:
	k += i
	k += '+'
k = k[::-1].replace('+', '', 1)
print(k[::-1])


n = input()
l = n.split('+')
l = [int(i) for i in l]
l.sort()
p = ''
for i in l:
	p += str(i) + '+'
print(p.strip('+'))


def main():
	string = input()
	if '+' not in string:
		print(string)
	else:
		string = string.split('+')
		string.sort()
		summation = ''
		for x in string:
			summation += x + '+'
		print(summation[:-1])
main()


text = input().strip()
numbers = text.split('+')
numbers.sort()
numbers = list(filter(None, numbers))
count = len(numbers)
i = 0
for num in numbers:
	print(num, end='')
	if i != count - 1:
		print('+', end='')
	i += 1


a = input()
numbers = []
for i in range(len(a)):
	if a[i] == '+':
		numbers.append(a[i - 1])
	if i == len(a) - 1:
		numbers.append(a[i])
numbers.sort()
for i in range(len(numbers)):
	if i < len(numbers) - 1:
		print(numbers[i] + '+', end='')
	elif i == len(numbers) - 1:
		print(numbers[i])


x = input()
y = x.split('+')
idx = 0
l1 = []
l2 = []
l3 = []
l4 = []
for i in y:
	if y[idx] == '1':
		l1.append(i)
		idx = idx + 1
	elif y[idx] == '2':
		l2.append(i)
		idx = idx + 1
	elif y[idx] == '3':
		l3.append(i)
		idx = idx + 1
l4 = l1 + l2 + l3
print('+'.join(l4))


def INT():
	return int(input())

def lis():
	return [int(x) for x in input().split()]

def S():
	return str(input())
st = S()
l = st.split('+')
l.sort()
print(*l, sep='+', end='')


str = input()
list = str.split('+')
list.sort()
op = '+'
op = op.join(list)
print(op)


som = list(input().split('+'))
string = ''
som.sort()
for x in som:
	string = string + (x + '+')
print(string[0:len(string) - 1])


d = input()
n1 = n2 = n3 = 0
for i in range(0, len(d), 2):
	if d[i] == '1':
		n1 += 1
	elif d[i] == '2':
		n2 += 1
	else:
		n3 += 1
dd = '1+' * n1 + '2+' * n2 + '3+' * n3
print(dd[:-1])


a = input()
l = ''
for i in a:
	if i == '1' or i == '2' or i == '3':
		l = l + i
t = list(l)
t.sort()
k = ''
for i in t:
	k = k + i
z = ''
for i in k:
	z = z + i + '+'
print(z[0:-1:1])


n = input()
if len(n) == 1:
	print(n)
else:
	s = n.split('+')
	s.sort()
	w = ''.join((str(i) for i in s))
	print('+'.join(w))


ques = input()
ques = ques.replace('+', '')
ques = sorted(ques)
print('+'.join(ques))


str1 = input()
nums1 = str1.split('+')
nums1 = sorted(nums1)
print('+'.join(nums1))


s = input().split('+')
cnt1 = 0
cnt2 = 0
cnt3 = 0
for i in s:
	if i == '1':
		cnt1 += 1
	elif i == '2':
		cnt2 += 1
	elif i == '3':
		cnt3 += 1
ans = '1+' * cnt1 + '2+' * cnt2 + '3+' * (cnt3 - 1) + '3'
if cnt3 == 0:
	ans = ans[:-2]
print(ans)


s = ''
for i in sorted(list(input().split('+'))):
	s += i + '+'
print(s[0:len(s) - 1])


n = input()
k = list(n.split('+'))
k.sort()
a = list('+'.join(k))
for i in a:
	print(i, end='')


num0 = str(input())
num = [int(n) for n in num0.split('+')]
for i in range(1, len(num)):
	x = i
	while num[x] < num[x - 1] and x > 0:
		t = num[x]
		num[x] = num[x - 1]
		num[x - 1] = t
		x -= 1
print(num[0], end='')
j = 1
while j < len(num):
	print('+', end='')
	print(num[j], end='')
	j += 1


s = str(input(''))
size = len(s)
list = []
if size > 1:
	l = s.split('+')
	for items in l:
		n = int(items)
		list.insert(len(list), n)
	list = sorted(list)
	s2 = ''
	si = len(list)
	for i in range(0, si):
		if not i == si - 1:
			s2 = s2 + str(list[i]) + '+'
		else:
			s2 = s2 + str(list[i])
	print(s2, end='')
else:
	print(s, end='')


sumands = list(map(int, input().split('+')))
sumands.sort()
print('+'.join(list(map(str, sumands))))


ans = input()
an = ans.split('+')
an.sort()
a = len(an)
for i in range(a - 1):
	print(an[i], end='+')
print(an[-1])


string = str(input())
d = [0, 0, 0]
for i in range(len(string)):
	if string[i] == '1':
		d[0] += 1
	elif string[i] == '2':
		d[1] += 1
	elif string[i] == '3':
		d[2] += 1
string = ''
for i in range(len(d)):
	for j in range(d[i]):
		string += str(i + 1) + '+'
print(string[:-1])


s = input()
x = ['1', '2', '3']
ans = []
for i in s:
	if i in x:
		ans.append(int(i))
ans.sort()
s2 = ''
for i in ans:
	s2 += str(i) + '+'
print(s2[:-1])


s = str(input())
a1 = s.count('+1')
a2 = s.count('+2')
a3 = s.count('+3')
if s[0] == '1':
	a1 = a1 + 1
elif s[0] == '2':
	a2 = a2 + 1
elif s[0] == '3':
	a3 = a3 + 1
if a1 != 0:
	ss = '1'
	for i in range(a1 - 1):
		ss = ss + '+1'
	for i in range(a2):
		ss = ss + '+2'
	for i in range(a3):
		ss = ss + '+3'
elif a2 != 0:
	ss = '2'
	for i in range(a2 - 1):
		ss = ss + '+2'
	for i in range(a3):
		ss = ss + '+3'
else:
	ss = '3'
	for i in range(a3 - 1):
		ss = ss + '+3'
print(ss)


s = input()
p = []
for i in s:
	if i != '+':
		p.append(i)
p.sort()
for i in range(0, len(p) - 1):
	print(p[i], end='+')
print(p[len(p) - 1])


random_sum = input('')
list_of_numbers = random_sum.split('+')
list_of_numbers.sort()
num_str = ''
for i in range(len(list_of_numbers)):
	if i < len(list_of_numbers) - 1:
		num_str = num_str + list_of_numbers[i] + '+'
	else:
		num_str = num_str + list_of_numbers[i]
print(num_str)


a = input().split('+')
a.sort()
for i in range(a.__len__()):
	if i + 1 == a.__len__():
		print(a[i], end='')
	else:
		print(a[i] + '+', end='')


stri = input()
pos = 0
a = [0] * int(len(stri) / 2 + 1)
for r in stri:
	if r != '+':
		a[pos] = int(r)
		pos += 1
a.sort()
for j in range(1, len(stri), 2):
	a.insert(j, '+')
for i in a:
	print(i, end='')


alist = input()
alist = list(alist)
alist = alist[0::2]
b = len(alist)
if b == 1:
	for i in alist:
		print(i, end='')

def smartBubbleSort(alist):
	n = len(alist)
	exchanges = True
	for passnum in range(n - 1, 0, -1):
		if exchanges == False:
			break
		exchanges = False
		for i in range(passnum):
			if alist[i] > alist[i + 1]:
				(alist[i], alist[i + 1]) = (alist[i + 1], alist[i])
				exchanges = True
smartBubbleSort(alist)

def printInc(b, alist):
	a = ['+']
	p = []
	for g in range(b):
		if b > 0 and b != 1:
			p += str(alist[g])
			p += a
		elif b > 0 and b == 1:
			p += str(alist[g])
	return p
u = printInc(b, alist)
del u[-1]
for i in u:
	print(i, end='')


s = list(input().replace('+', ' '))
s.sort()
p = list(''.join(s).lstrip())
print('+'.join(p))


s = str(input())
n = len(s)
if n == 1:
	print(s)
else:
	list = []
	for i in range(n):
		if s[i] != '+':
			new = int(s[i])
			list.append(new)
	list.sort()
	line = ''
	for i in range(len(list) - 1):
		line = line + str(list[i]) + '+'
	line = line + str(list[len(list) - 1])
	print(line)


var = input()
var1 = var.replace('+', '')
var2 = ''.join(sorted(var1))
count = 0
str1 = ''
while count < len(var2) - 1:
	str1 = str1 + var2[count] + '+'
	count = count + 1
print(str1 + var2[-1])


s = input()
s = s.replace('+', ' ', -1)
l = [int(s) for s in s.split() if s.isdigit()]
l.sort()
s = ''
for i in range(len(l)):
	if i == len(l) - 1:
		s += str(l[i])
	else:
		s += str(l[i]) + '+'
print(s)


numbers = list(map(int, input().split('+')))
res = ''
numbers.sort()
for i in range(len(numbers)):
	if i:
		res += '+'
	res += str(numbers[i])
print(res)


kalimat = input()
num = kalimat.split('+')
num.sort()
for i in range(len(num)):
	print(num[i], end='')
	if i != len(num) - 1:
		print('+', end='')
print()


inp = input()
li = []
result = '+'
for i in range(len(inp)):
	if inp[i] != '+':
		li.append(inp[i])
li.sort()
result = result.join(li)
print(result)


a = input().split('+')
m = []
for i in range(len(a)):
	m.append(a[i])
m = sorted(m)
for i in range(1, len(m) * 2, 2):
	m.insert(i, '+')
print(''.join(m[:-1]))


sum = input()
n = []
for i in sum:
	if i == '+':
		continue
	else:
		n.append(int(i))
n.sort()
m = len(n)
for i in range(0, m):
	if i != m - 1:
		print(str(n[i]) + '+', end='')
	else:
		print(str(n[i]))


import math
seq = input()
seq = seq.split('+')
seq.sort()
print('+'.join(seq))


first_line = input()
first_line = first_line.split('+')
first_line.sort()
first_line = '+'.join(first_line)
print(first_line)


x = input()
x = x.split('+')
y = list(map(int, x))
res = ''
y.sort()
for i in y:
	res += str(i) + '+'
print(res[:len(res) - 1])


s = input()
a = s.count('1')
b = s.count('2')
c = s.count('3')
ans = ''
for i in range(a):
	ans += '1+'
for i in range(b):
	ans += '2+'
for i in range(c):
	ans += '3+'
print(ans[:len(ans) - 1])


a = list(map(int, input().split('+')))
a.sort()
(k, s) = ('', 0)
for i in a:
	s = s + 1
	print(i, end='')
	if len(a) > s:
		print('+', end='')


s = input()
r = []
if '+' not in s:
	print(s)
else:
	for i in range(0, len(s), 2):
		r.append(s[i])
	r.sort()
	print('+'.join(r))


eq = input()
op = []
for i in range(0, len(eq), 2):
	op.append(eq[i])
op.sort()
print('+'.join(op))


def bubblesort(alist):
	for i in range(0, len(alist) - 1):
		for j in range(0, len(alist) - 1 - i):
			if alist[j] > alist[j + 1]:
				(alist[j], alist[j + 1]) = (alist[j + 1], alist[j])
	return alist
str = input()
x = list(str.split('+'))
print('+'.join(bubblesort(x)))


def solve_the_problem():
	exercise = input()
	numbers = exercise.split('+')
	sorted_numbers = sorted(numbers)
	res = ''
	for i in sorted_numbers:
		res += i
		res += '+'
	print(res[:len(res) - 1])
solve_the_problem()


a = input().split('+')
a.sort()
s1 = '+'
print(s1.join(a))


s = str(input())
news = []
ans = ''
for i in range(len(s)):
	if s[i] != '+':
		news += s[i]
news.sort()
for i in range(len(news) - 1):
	ans += news[i] + '+'
ans += news[len(news) - 1]
print(ans)


d = input()
f = list(map(int, d.split('+')))
f.sort()
if len(f) < 2:
	print(f[0])
else:
	for i in range(len(f) - 1):
		print(f[i], end='+')
	print(f[-1])


s = input()
s = list(s)
result = []
total = ''
for x in s:
	if x != '+':
		result += x
		result.sort()
for z in result:
	y = '+'
	total += z + y
print(total[:-1])


s = input()
d = []
for i in range(0, len(s)):
	if s[i].isnumeric():
		d.append(int(s[i]))
d.sort()
for i in range(0, len(d) - 1):
	print(d[i], end='+')
print(d[-1])


(s, ar) = (input(), [])
for i in range(0, len(s), 2):
	ar.append(int(s[i]))
ar.sort(reverse=False)
print(*ar, sep='+')


import math
a = input()
a1 = ''
b = []
i = 0
r = 0
flag = False
for i in range(len(a)):
	d = int(a[0])
	if i % 2 == 0:
		b.append(int(a[i]))
		flag = True
i = 1
b.sort()
for i in range(len(b) - 1):
	a1 += str(b[i]) + '+'
if len(a) == 1:
	flag = False
if flag == False:
	print(str(d))
else:
	a1 += str(b[i + 1])
	print(a1)


def main():
	spnums.sort()
	easy_nums = '+'.join(spnums)
	return easy_nums
sum_string = input()
spnums = sum_string.split('+')
print(main())


seq = str(input()).split('+')
seq = sorted(seq)
print('+'.join(seq))


def senia_sum(string):
	arr = [0] * 101
	for i in string:
		if i != '+':
			arr[int(i)] += 1
	st_sum = ''
	for s in range(1, 101):
		if arr[s] > 0:
			st_sum += (str(s) + '+') * arr[s]
	print(st_sum[:-1])
st = input()
senia_sum(st)


sum = input()
newsum = sum
if len(sum) > 2:
	for j in range(2, len(sum) + 1, 2):
		for i in range(2, len(sum) + 1, 2):
			if int(newsum[i]) < int(newsum[i - 2]):
				newsum = newsum[:i - 2] + newsum[i] + newsum[i - 1] + newsum[i - 2] + newsum[i + 1:]
print(newsum)


print('+'.join(sorted(input()[0::2])))


def maths(s):
	arr = []
	for i in range(0, len(s), 2):
		arr.append(int(s[i]))
	arr.sort()
	ans = ''
	for i in arr:
		ans = ans + str(i) + '+'
	return ans[:len(s)]
s = input()
print(maths(s))


nostring = input().split('+')
listtosort = list(map(lambda x: int(x), nostring))
listtosort.sort()
print(listtosort[0], end='')
for i in range(1, len(listtosort)):
	print('+', end='')
	print(listtosort[i], end='')


st = input()
n1 = 0
n2 = 0
n3 = 0
for d in st:
	if d == '1':
		n1 += 1
	elif d == '2':
		n2 += 1
	elif d == '3':
		n3 += 1
s = ''
for c in range(0, n1):
	s += '1+'
for c in range(0, n2):
	s += '2+'
for c in range(0, n3):
	s += '3+'
s = s[:-1]
print(s)


t = input()
x = []
y = ''
for i in range(len(t)):
	if t[i] != '+':
		x.append(int(t[i]))
x = sorted(x)
if len(x) > 1:
	for i in range(len(x) - 1):
		y = y + str(x[i]) + '+'
	y = y + str(x[len(x) - 1])
else:
	y = str(x[0])
print(y)


i = input()
a = list()
for j in range(0, len(i), 2):
	a.append(i[j])
a.sort()
for k in range(0, len(a)):
	if k == len(a) - 1:
		print(a[k])
	else:
		print(a[k] + '+', end='')


from math import *
l = list(sorted(input().replace('+', '')))
s = ''
for i in range(0, len(l)):
	if i != len(l) - 1:
		s += l[i] + '+'
	else:
		s += l[i]
print(s)


s = input()
numlst = s.split('+')
for x in numlst:
	x = int(x)
numlst.sort()
a = list()
for x in numlst:
	a.append(str(x))
	a.append('+')
a.pop()
t = tuple(a)
ans = ''.join(t)
print(ans)


input_s = input().split('+')
one = 0
two = 0
three = 0
result = ''
for i in input_s:
	if i == '1':
		one += 1
	elif i == '2':
		two += 1
	elif i == '3':
		three += 1
for i in range(one):
	result += '+1'
for i in range(two):
	result += '+2'
for i in range(three):
	result += '+3'
print(result[1:])


listy = list(input().split('+'))
listy.sort()
souls = '+'.join(listy)
print(souls)


s = input()
array = []
for value in s:
	if value != '+':
		array.append(int(value))
array.sort()
for i in range(len(array)):
	if i == len(array) - 1:
		print(array[i])
	else:
		print(str(array[i]) + '+', end='')


n = input()
res = []
for i in range(len(n)):
	if n[i] != '+':
		res.append(n[i])
res.sort()
for i in range(len(res)):
	if i == len(res) - 1:
		print(res[i])
	else:
		print(res[i] + '+', end='')


a = list(map(int, input().split('+')))
a.sort()
lista_ordenada = ''
if len(a) > 1:
	for x in range(len(a)):
		lista_ordenada += str(a[x]) + '+'
	print(lista_ordenada[0:len(lista_ordenada) - 1])
else:
	print(a[0])


li = list(map(str, input().strip().split('+')))
li.sort()
s = '+'.join(li)
print(s)


x = input()
res = '+'.join(sorted(x))
print(res[2 * (len(x) // 2):])


x = input()
ll = []
ans = ''
j = 0
for i in range(0, len(x), 2):
	ll.append(int(x[i]))
ll.sort()
for i in range(len(x)):
	if i % 2 == 0:
		ans = ans + str(ll[j])
		j += 1
	else:
		ans = ans + '+'
print(ans)


s = input().split('+')
s.sort()
for char in s[:-1]:
	print(char + '+', end='')
print(s[-1])


t = list(map(int, input().split('+')))
t = sorted(t)
for i in range(len(t) - 1):
	print(str(t[i]) + '+', end='')
print(t[-1])


s = input()
s1 = sorted(s)
c = 0
for i in s1:
	c += 1
	if i != '+':
		if c == len(s1):
			print(i)
		else:
			print(i, end='+')


a = list(input())
(k, l, n) = (a.count('1'), a.count('2'), a.count('3'))
if n != 0:
	for i in range(k):
		print('1', '+', sep='', end='')
	for i in range(l):
		print('2', '+', sep='', end='')
	for i in range(n - 1):
		print('3', '+', sep='', end='')
	print('3')
elif l != 0:
	for i in range(k):
		print('1', '+', sep='', end='')
	for i in range(l - 1):
		print('2', '+', sep='', end='')
	print('2')
else:
	for i in range(k - 1):
		print('1', '+', sep='', end='')
	print('1')


a = input(' ')
l = list(a)
l = l[::2]
l.sort()
c = '+'.join(l)
print(c)


def A(lst):
	n = len(lst)
	if n <= 1:
		return lst
	for i in range(0, n):
		for j in range(0, n - i - 1):
			if lst[j] > lst[j + 1]:
				(lst[j], lst[j + 1]) = (lst[j + 1], lst[j])
	return lst
x = input().split('+')
x = A(x)
print('+'.join(x))


import sys

def main():
	l = input().split('+')
	for i in range(len(l)):
		l[i] = int(l[i])
	l.sort()
	for i in range(len(l)):
		sys.stdout.write(str(l[i]))
		if i != len(l) - 1:
			sys.stdout.write('+')
main()


a = list(map(int, input().split('+')))
a.sort()
t = 0
for i in a:
	print(i, end='')
	t += 1
	if t < len(a):
		print('+', end='')


b = list(input())
n = len(b)
a = []
e = ''
for i in range(0, n, 2):
	b[i] = int(b[i])
	a.append(int(b[i]))
for i in range(len(a)):
	for j in range(len(a) - 1, i, -1):
		if a[j] < a[j - 1]:
			(a[j], a[j - 1]) = (a[j - 1], a[j])
for i in range(len(a)):
	a[i] = str(a[i])
for i in range(len(a) - 1):
	e = e + a[i] + '+'
e = e + a[len(a) - 1]
print(e)


n = list(input().split('+'))
n.sort()
for i in range(0, len(n)):
	if i + 1 == len(n):
		print(str(n[i]))
	else:
		print(str(n[i]), end='+')


n = str(input())
l = []
for i in range(len(n)):
	if n[i] != '+':
		x = int(n[i])
		l.append(x)
l.sort()
for i in range(len(l)):
	x = str(l[i])
	if i == 0:
		print(x, end='')
	else:
		print('+' + x, end='')


s = input()
s = list(s)

def func(x):
	return x != '+'
s = list(filter(func, s))
s.sort(reverse=False)
x = '+'.join(s)
print(x)


x = input()
k = []
for i in range(len(x)):
	if i % 2 == 0:
		k.append(x[i])
k.sort()
j = 1
t = k
for i in range(len(t) - 1):
	k.insert(j, '+')
	j = j + 2
value = ''
for i in k:
	value = value + i
print(value)


s = input()
l = []
o = ''
for i in range(0, len(s)):
	if i == len(s) - 1:
		l.append(s[i])
	if s[i] == '+':
		l.append(s[i - 1])
	else:
		continue
min = '1000'
k = 0
for i in range(0, len(l)):
	k = i
	for j in range(i + 1, len(l)):
		if l[j] < l[k]:
			k = j
	(l[i], l[k]) = (l[k], l[i])
for t in range(0, len(l)):
	if t == len(l) - 1:
		o = o + l[t]
	else:
		o = o + l[t] + '+'
print(o)


s = input()
l = s.split('+')
l1 = []
for i in l:
	l1.append(int(i))
l1.sort()
l2 = []
for i in l1:
	l2.append(str(i))
print('+'.join(l2))


_1 = '236a'
_2 = ''
n = list(map(str, input().split('+')))
n.sort()
print('+'.join(n))


stroka = input()
vivod = ''
dlina = (len(stroka) - 1) / 2 + 1
i = 0
kolvo_1 = 0
kolvo_2 = 0
kolvo_3 = 0
j = 0
while j < dlina:
	if dlina < 2:
		vivod = stroka
		break
	if stroka[0 + i] == '1':
		kolvo_1 += 1
	elif stroka[0 + i] == '2':
		kolvo_2 += 1
	elif stroka[0 + i] == '3':
		kolvo_3 += 1
	i += 2
	j += 1
if kolvo_1 > 0:
	vivod = ('1' + '+') * (kolvo_1 - 1) + '1'
if kolvo_2 > 0:
	if kolvo_1 > 0:
		vivod += '+'
	vivod += ('2' + '+') * (kolvo_2 - 1) + '2'
if kolvo_3 > 0:
	if kolvo_1 > 0 or kolvo_2 > 0:
		vivod += '+'
	vivod += ('3' + '+') * (kolvo_3 - 1) + '3'
print(vivod)


n = input().strip()
a = []
for i in n:
	if i != '+':
		a.append(i)
a.sort()
for i in range(len(a)):
	if i + 1 != len(a):
		print(a[i], end='+')
	else:
		print(a[i])


def main():
	print('+'.join(sorted(input().strip().split('+'))))
main()


numbers = input().split('+')
numbers.sort()
separator = '+'
print(separator.join(numbers))


s = input()
cntList = [0, 0, 0]
for i in range((len(s) - 1) // 2 + 1):
	cntList[int(s[2 * i], 10) - 1] += 1
stat = 0
for k in range(3):
	for i in range(cntList[k]):
		if stat == 0:
			print(k + 1, end='')
			stat = 1
		else:
			print('+', end='')
			print(k + 1, end='')


Numbers = [int(x) for x in input().split('+')]
Numbers.sort()
n = 0
String = ''
while n < len(Numbers) - 1:
	String = String + str(Numbers[n]) + '+'
	n += 1
String = String + str(Numbers[n])
print(String)


ss = input().split(sep='+')
ss = sorted(ss)
for i in range(len(ss)):
	if i != len(ss) - 1:
		print(ss[i], end='+')
	else:
		print(ss[i])


def solution(st):
	li = list(st)
	s = ''
	for i in li:
		if i != '+':
			s += i
	li = list(s)
	li.sort()
	s1 = ''
	for i in li:
		s1 = s1 + i + '+'
	s1 = s1[:-1]
	print(s1)
st = input()
solution(st)


L = list(input())
L1 = []
x = len(L)
for i in L:
	if i == '1':
		L1.append(i)
for i in L:
	if i == '2':
		L1.append(i)
for i in L:
	if i == '3':
		L1.append(i)
str3 = '+'.join(L1)
print(str3)


s = input()
lis = s.split('+')
lis.sort()
lis2 = ''
for i in lis:
	lis2 += i + '+'
for i in range(0, len(lis2) - 1):
	print(lis2[i], end='')


a = [int(x) for x in input().split('+')]
a.sort()
s = ''
for i in range(len(a)):
	if i == len(a) - 1:
		s += str(a[i])
	else:
		s += str(a[i]) + '+'
print(s)


s = input()
t = []
sorted_t = []
length = len(s)
for x in range(0, length):
	if s[x] != '+':
		t.append(s[x])
t.sort()
length_T = len(t)
for y in range(0, length_T):
	if y == length_T - 1:
		print(t[y])
	else:
		print(t[y], end='+')


x = list(map(int, input().split('+')))
x1 = sorted(x)
s = ''
if len(x1) > 1:
	for i in x1:
		s = s + str(i) + '+'
	print(s[:len(s) - 1])
else:
	print(x1[0])


summ = input()
m = summ.split('+')
m.sort()
l = len(m)
for i in range(0, l - 1):
	print(int(m[i]), '+', end='', sep='')
print(int(m[l - 1]))
int(m[0])


inp = [int(x) for x in input().strip().split('+')]
num1 = num2 = num3 = 0
for n in inp:
	if n == 1:
		num1 += 1
	elif n == 2:
		num2 += 1
	else:
		num3 += 1
result = ['1' for x in range(num1)] + ['2' for x in range(num2)] + ['3' for x in range(num3)]
print('+'.join(result))


print('+'.join(list(map(lambda y: str(y), sorted(list(map(lambda x: int(x), input().split('+'))))))))


n = list(input())
z = []
for i in range(len(n)):
	if n[i].isdigit():
		z.append(n[i])
z = sorted(z)
k = 0
for i in range(len(n)):
	if n[i].isdigit():
		n[i] = z[k]
		k += 1
print(''.join(n))


sum = input()
sum_sort = sum.split('+')
ans = sorted(sum_sort)
if len(ans) > 1:
	print('+'.join(ans))
else:
	print(sum)


x = input().split('+')
y = len(x)
n = y - 1
for j in range(y - 1):
	for i in range(n):
		if x[i] > x[i + 1]:
			(x[i], x[i + 1]) = (x[i + 1], x[i])
	n = n - 1
for i in range(y - 1):
	print(x[i] + '+', end='')
print(x[y - 1])


string = input()
count_1 = 0
count_2 = 0
count_3 = 0
for i in string:
	if i == '1':
		count_1 += 1
	elif i == '2':
		count_2 += 1
	elif i == '3':
		count_3 += 1
out = ''
for i in range(0, count_1):
	if count_1 == 1 and count_2 == 0 and (count_3 == 0):
		out += '1'
	elif count_3 == 0 and count_2 == 0 and (i == count_1 - 1):
		out += '1'
	else:
		out += '1+'
for i in range(0, count_2):
	if count_2 == 1 and count_1 == 0 and (count_3 == 0):
		out += '2'
	elif count_3 == 0 and i == count_2 - 1:
		out += '2'
	else:
		out += '2+'
for i in range(0, count_3):
	if count_3 == 1 and count_1 == 0 and (count_2 == 0):
		out += '3'
	elif i == count_3 - 1:
		out += '3'
	else:
		out += '3+'
print(out)


import re
i = 0
str1 = ''
a = input()
one_1 = re.findall('1', a)
two_2 = re.findall('2', a)
three_3 = re.findall('3', a)
number = sorted(one_1 + two_2 + three_3)
for i in number:
	str1 += '+' + i
print(str1[1:])


str = sorted(input())
str = str[int(len(str) // 2):]
result = ''
for item in str:
	result += item + '+'
print(result[:len(result) - 1])


l = list(input())
n = []
for i in l:
	if i.isnumeric():
		n.append(i)
n.sort()
print('+'.join(n))


o = ''
s = list(input().split('+'))
s.sort()
for i in s:
	o += i + '+'
print(o[:-1])


import sys
input = sys.stdin.readline

def inp():
	return int(input())

def inlt():
	return list(map(int, input().split()))

def insr():
	s = input()
	return list(s[:len(s) - 1])

def invr():
	return map(int, input().split())
intl = list(map(int, input().split('+')))
intl.sort()
result = ''
for x in intl:
	result += str(x) + '+'
print(result[:-1])


import math
import os
import random
import re
import sys

def solve():
	calculation = str(input())
	calculation = list(map(int, calculation.split('+')))
	calculation = sorted(calculation)
	return '+'.join(map(str, calculation))
result = solve()
print(result)


arr = input()
one = arr.count('1')
two = arr.count('2')
three = arr.count('3')
for i in range(len(arr)):
	if not i % 2 and one != 0:
		print('1', end='')
		one -= 1
	elif not i % 2 and two != 0:
		print('2', end='')
		two -= 1
	elif not i % 2 and three != 0:
		print('3', end='')
		three -= 1
	else:
		print('+', end='')


a = list(map(int, input().split('+')))
b = sorted(a)
x = ''
for i in b:
	str1 = x + str(i) + '+'
	x = str1
print(str1[0:len(str1) - 1])


x = input()
n = []
m = []
for i in range(len(x)):
	n.append(x[i])
	if i % 2 == 0:
		m.append(x[i])
s = sorted(m)
p = 0
for i in range(0, len(x), 1):
	if i % 2 == 0:
		p = int(i / 2)
		n[i] = s[p]
	print(n[i], end='')


def kind():
	result = ''
	op = list(input().split('+'))
	op.sort()
	for num in range(len(op)):
		if num != len(op) - 1:
			result += op[num] + '+'
		else:
			result += op[num]
	return result
print(kind())


n = input()
j = n.split('+')
k = sorted(j, key=lambda x: int(x))
l = '+'.join(k)
print(l)


x = str(input())
l = list(x)
s = ''
for i in l:
	if i == '+':
		l.remove('+')
l.sort()
for i in range(1, len(l) + len(l) - 1, 2):
	if len(l) != 1:
		l.insert(i, '+')
for i in l:
	s += i
print(s)


string = input().split('+')
one = 0
two = 0
three = 0
for c in string:
	if c == '1':
		one += 1
	elif c == '2':
		two += 1
	else:
		three += 1
if one != 0:
	print('1', end='')
	for i in range(one - 1):
		print('+1', end='')
	if two != 0:
		for i in range(two):
			print('+2', end='')
		if three != 0:
			for i in range(three):
				print('+3', end='')
	elif three != 0:
		for i in range(three):
			print('+3', end='')
elif two != 0:
	print('2', end='')
	for i in range(two - 1):
		print('+2', end='')
	if three != 0:
		for i in range(three):
			print('+3', end='')
elif three != 0:
	print('3', end='')
	for i in range(three - 1):
		print('+3', end='')
else:
	print('0')


string = input().split('+')
string.sort()
tot = ''
for i in range(len(string)):
	x = '+'
	tot = tot + str(string[i]) + x
print(tot[:-1])


entrada = input()
entrada = entrada.replace('+', ' ')
entrada = entrada.split()
entrada.sort()
a = '+'.join(entrada)
print(a)


str = input()
lst = str.split('+')
lst.sort()
str_final = '+'.join(lst)
print(str_final)


s = input()
arr = s.split(sep='+')
arr.sort()
result = ''
for i in arr:
	result += i + '+'
for k in range(len(result) - 1):
	print(result[k], end='')


s = input()
s = s.split('+')
d = []
for c in s:
	if c == '1':
		d.append(1)
	elif c == '2':
		d.append(2)
	elif c == '3':
		d.append(3)
d.sort()
e = []
for c in d:
	if c == 1:
		e.append('1')
	elif c == 2:
		e.append('2')
	else:
		e.append('3')
e = '+'.join(e)
print(e)


from collections import Counter
s = input()
c = Counter(s)
ss = '1+' * c['1'] + '2+' * c['2'] + '3+' * c['3']
print(ss[:-1])


import math
string = input()
n = (len(string) + 1) // 2
s = string.split('+')
list1 = [0] * n
for i in range(n):
	list1[i] = int(s[i])
for i in range(n):
	j = n - 1
	while j > i:
		if list1[j - 1] > list1[j]:
			p = list1[j - 1]
			list1[j - 1] = list1[j]
			list1[j] = p
		j = j - 1
string = ''
for i in range(n):
	string = string + str(list1[i])
	if i == n - 1:
		break
	string = string + '+'
print(string)


k = str(input())
l = len(k) + 1
L = []
for i in range(1, l):
	if i % 2 == 1:
		L.append(k[i - 1])
L.sort()
le = len(L)
K = []
for i in range(0, le):
	K.append(L[i])
	K.append('+')
print(''.join(K[:-1]))


data = input().split('+')
data = sorted([int(x) for x in data])
for i in range(0, len(data)):
	print(data[i], end='+' if i < len(data) - 1 else '\n')


s = input()
s = sorted(s)
for i in range(len(s) - 1):
	if s[i] != '+':
		print(s[i], end='+')
print(s[len(s) - 1])


l = []
n = input()
x = len(n) + 1
for i in range(0, x):
	if i % 2 == 0:
		l.append(n[i])
l.sort()
print('+'.join(l))


s = input()
arr = list()
for i in range(len(s)):
	if i % 2 == 0:
		arr.append(int(s[i]))
arr.sort()
arr1 = list(map(str, arr))
print('+'.join(arr1))


li = list(map(int, input().rstrip().split('+')))
li.sort()
new = '+'.join((str(ele) for ele in li))
print(new)


def solve(x):
	nums = list(map(int, x.split('+')))
	nums.sort()
	return '+'.join((str(num) for num in nums))
s = input()
print(solve(s))


ints = [str(s) for s in input().split('+')]
ints.sort()
res = '+'.join(ints)
print(res)


m = input()
k = m.split('+')
f = sorted(k)
for i in range(len(f)):
	if i < len(f) - 1:
		print(f[i] + '+', end='')
	else:
		print(f[i])


n = [int(i) for i in input().split('+')]
n.sort()
t = n.pop()
for i in n:
	print('{}+'.format(i), end='')
print(t)


def rearrange_sum(string):
	end_string = ''
	for j in '123':
		for i in range(len(string)):
			if string[i] == j:
				if len(end_string) == 0:
					end_string += j
				else:
					end_string += '+' + j
	return end_string
the_string = input()
print(rearrange_sum(the_string))


import sys
input = sys.stdin.readline

def inp():
	return int(input())

def inlt():
	return list(map(int, input().split()))

def insr():
	s = input()
	return list(s[:len(s) - 1])
line = insr()
pip = [i for i in line if i != '+']
pip.sort()
combo = pip.pop(0)
for elem in pip:
	combo = combo + '+' + elem
print(combo)


x = input()
i = 0
c = ''
f = ''
while i < len(x):
	if x[i] == '1':
		c = '1' + c
	elif x[i] == '2':
		c = c + '2'
	i += 2
i = 0
while i < len(x):
	if x[i] == '3':
		c = c + '3'
	i += 2
i = 0
while i < len(c) - 1:
	f = f + c[i]
	f = f + '+'
	i += 1
f = f + c[len(c) - 1]
print(f)


word = input()
temp = ''
final = ''
if len(word) == 1:
	print(word)
else:
	for i in range(len(word)):
		if word[i] != '+':
			temp += word[i]
	temp = sorted(temp)
	for j in range(len(temp)):
		if j == 0:
			final += temp[j]
		else:
			final += '+' + temp[j]
print(final)


prob = input().split('+')
prob.sort()
final = ''
for i in prob:
	final = final + '+' + i
print(final[1:])


inp = input().split('+')
inp.sort()
orderd = '+'.join(inp)
print(orderd)


import os
import sys
equation = input()
equa = sorted(list(equation))
eq = []
r = len(equa) - equa.count('+')
for i in range(r - 1, len(equa)):
	eq.append(str(equa[i]) + '+')
e = ''.join(eq)
print(e[:-1])


s = input()
l = []
for i in s:
	if i.isdigit():
		l.append(i)
n = sorted(l)
d = ''
for i in range(len(n) - 1):
	d = d + n[i] + '+'
d = d + n[-1]
print(d)


print(*sorted(input().replace('+', '')), sep='+')


suma = input()
suma1 = suma.split('+')
arr = []
for numero in suma1:
	arr.append(int(numero))
arr.sort()
i = 0
ar = []
while i < len(arr) - 1:
	st = ''.join((str(arr[i]), '+'))
	ar.append(st)
	i += 1
ar.append(str(arr[len(arr) - 1]))
res = ''
for num in ar:
	res = res + num
print(res)


sum = input()
x = 1
out = ''
while x < 4:
	i = 0
	while i < len(sum):
		if sum[i] == '+':
			i += 1
		elif int(sum[i]) == x:
			if len(out) == len(sum) - 1:
				out = out + str(x)
				i += 1
			else:
				out = out + str(x) + '+'
				i += 1
		else:
			i += 1
	x += 1
print(out)


angka = []
a = input()
for i in range(len(a)):
	if a[i] == '1' or a[i] == '2' or a[i] == '3':
		angka += [int(a[i])]
for i in range(len(angka) - 1):
	for j in range(len(angka) - 1):
		if angka[j] > angka[j + 1]:
			tem = angka[j]
			angka[j] = angka[j + 1]
			angka[j + 1] = tem
for i in range(len(angka)):
	print(angka[i], end='')
	if i < len(angka) - 1:
		print('+', end='')


def Xenia():
	n = input().split('+')
	l = len(n)
	i = 0
	while i < l - 1:
		j = i
		while j < l:
			if n[i] > n[j]:
				temp = n[i]
				n[i] = n[j]
				n[j] = temp
			j = j + 1
		i = i + 1
	i = 0
	while i < l:
		if i != l - 1:
			n[i] = n[i] + '+'
		else:
			n[i] = n[i]
		i = i + 1
	print(''.join(n))
Xenia()


n = input()
s = len(n)
f = []
q = []
i = 0
while i < s:
	if n[i] != '+':
		f.append(int(n[i]))
	i = i + 1
f.sort()
k = len(f)
j = 0
while j < k:
	q.append(f[j])
	q.append('+')
	j = j + 1
g = len(q)
del q[g - 1]
print(*q, sep='')


exp = list(map(int, input().split('+')))
exp.sort()
exp = str(exp)
exp = exp[1:len(exp) - 1]
print(exp.replace(', ', '+'))


x = input()
listx = x.split('+')
listx = sorted(listx)
print(*listx, sep='+')


class Helpful:

	def __init__(self, math):
		math = math.translate({ord('+'): None})
		math = sorted(math)
		strr = ''
		for i in range(0, len(math)):
			strr = strr + math[i]
			if i == len(math) - 1:
				break
			strr = strr + '+'
		print(strr)
math = str(input())
h = Helpful(math)


s = input()
a = '+'
for i in s:
	if i in a:
		s = s.replace(i, '')
q = sorted(s)
w = '+'.join(q)
print(w)


first_list = list(input())
lst = ''
for l in first_list:
	if l != '+':
		lst += l
sort_list = list(lst)
sort_list.sort()
final_amount = ''
for l in sort_list:
	final_amount += l + '+'
final_amount = final_amount[:-1]
print(final_amount)


x = input()
x = x.split('+')
x.sort()
y = ''.join([var + '+' for var in x])
print(y[:-1])


l = map(int, input().split('+'))
l = sorted(l)
for i in range(len(l)):
	if i != len(l) - 1:
		print(str(l[i]) + '+', end='')
	else:
		print(l[i])


s = input()
numbers = []
for i in range(0, len(s), 2):
	numbers.append(s[i])
numbers.sort()
print(numbers[0], end='')
for i in range(1, len(numbers)):
	print('+' + numbers[i], end='')


inp = input()
numbers = []
for i in range(0, len(inp), 2):
	numbers.append(int(inp[i]))
numbers.sort()
numbers = map(str, numbers)
numbers = '+'.join(numbers)
print(numbers)


str1 = input().strip().split('+')
str1.sort()
print(*str1, sep='+')


inf = str(input())
inf = sorted(inf.split('+'))
print('+'.join(inf))


line = input()
nums = line.split('+')
nums.sort()
print('+'.join(nums))


numbs = input().split('+')
numbs.sort()
total = ''
if len(numbs) > 0:
	if len(numbs) == 1:
		print(*numbs)
	else:
		for x in numbs:
			total = total + x + '+'
		print(total[:-1])


palabra = input()
lista = palabra.split('+')
new_lista = sorted(lista)
res = ''
for item in new_lista:
	res += '+'
	res += item
print(res.lstrip('+'))


s = input()
a1 = s.count('1')
a2 = s.count('2')
a3 = s.count('3')
if a3 == 0 and a2 == 0:
	print('1+' * (a1 - 1), '1', sep='')
elif a3 == 0:
	print('1+' * a1, '2+' * (a2 - 1), '2', sep='')
else:
	print('1+' * a1, '2+' * a2, '3+' * (a3 - 1), '3', sep='')


operation = input()
list_operation = operation.split('+')
list_operation.sort()
final_operation = '+'.join(map(str, list_operation))
print(final_operation)


s = input()
one = s.count('1')
two = s.count('2')
three = s.count('3')
ans = '1+' * one + '2+' * two + '3+' * three
print(ans[:len(ans) - 1])