#include <iostream>
#include<vector>
#include<algorithm>
using namespace std;
vector<char> v;
bool compare(char a, char b) {
if (a >= 'a' && a <= 'z' && b >= 'a' && b <= 'z') return a < b;
else if (a >= 'A' && a <= 'Z' && b >= 'A' && b <= 'Z') return a < b;
else if (a >= 'A' && a <= 'Z' && b >= 'a' && b <= 'z') return a - 'A' + 'a' < b;
else return a < b - 'A' + 'a';
}
int main() {
string s;
while (getline(cin, s)) { // 注意 while 处理多个 case
for (int i = 0; i < s.size(); i++) {
if (s[i] >= 'a' && s[i] <= 'z' || s[i] >= 'A' && s[i] <= 'Z') {
v.push_back(s[i]);
}
}
stable_sort(v.begin(), v.end(), compare);
int pos = 0;
for (int i = 0; i < s.size(); i++) {
if (s[i] >= 'a' && s[i] <= 'z' || s[i] >= 'A' && s[i] <= 'Z') {
s[i] = v[pos];
pos++;
}
else continue;
}
cout << s << endl;
v.clear();
}
}
// 64 位输出请用 printf("%lld")