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