刷水题真的爽。。
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <vector>
#include <list>
#include <stack>
#include <cstring>
#include <queue>
#include <map>
#include <string>
using namespace std;
#define MAX (1 << 16) + 5
#define ll long long
#define INF 0x3f3f3f3f
#define mod 1000000007
int a[300];
int main()
{
freopen("a.txt", "r", stdin);
freopen("b.txt", "w", stdout);
string s;
cin >> s;
for (int i = 0; s[i]; ++i) {
a[s[i]]++;
}
bool f = false;
for (int i = 0; i < 3; ++i) {
int t = a[i + '1'];
while (t--) {
if (!f) printf("%c", i + '1'), f = true;
else printf("+%c", i + '1');
}
}
return 0;
}