#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")