#include <iostream>
#include<algorithm>
using namespace std;
//字符串s中有空格,我们使用getline来读取
//先遍历字符串将其中的字母字符存下来,对其进行排序(不区分大小写需要自定义规则)
//遍历原字符串,遇到字母则输出排序字母串中对应位置,遇到非字母则输出原字符
int main() {
    string s;
    string letters;
    getline(cin,s);
    //存储字母
    for(char ch : s)
    {
        if(isalpha(ch))
            letters.push_back(ch);
    }
    // 自定义排序:不区分大小写,但保持输入顺序(稳定排序)lamba表达式实现
    stable_sort(letters.begin(), letters.end(), [](char a, char b) {
        return tolower(a) < tolower(b); // 按小写字母比较
    });
    //输出结果
    int index=0;
    for(char ch: s)
    {
        if(isalpha(ch))
            cout<<letters[index++];
        else
            cout<<ch;;
    }
    return 0;
}
// 64 位输出请用 printf("%lld")