#include <cctype>
#include <iostream>
#include <string>
using namespace std;
void merge(string& letter, int lo, int mid, int hi){
string temp = letter;
auto less = [](char a, char b)-> bool{
return tolower(a) <= tolower(b);
};
int i = lo,j = mid + 1;
for(int x = lo; x <= hi; x++){
if(i == mid + 1){
letter[x] = temp[j++];
} else if(j == hi + 1){
letter[x] = temp[i++];
} else if(less(temp[i], temp[j])){
letter[x] = temp[i++];
} else {
letter[x] = temp[j++];
}
}
}
void sort_string(string& letter, int lo, int hi){
if(lo >= hi) return;
int mid = (lo + hi) >> 1;
sort_string(letter, lo, mid);
sort_string(letter, mid + 1, hi);
merge(letter, lo, mid, hi);
}
int main() {
string str;
while (getline(cin, str)) { // 注意 while 处理多个 case
string letter;
for(char c: str){
if(isalpha(c)){
letter += c;
}
}
sort_string(letter, 0, letter.size() - 1);
int i = 0, j = 0;
string ans;
while(j < str.size()){
if(isalpha(str[j]) && i < letter.size()){
ans += letter[i++];
} else {
ans += str[j];
}
j++;
}
cout << ans;
}
}
// 64 位输出请用 printf("%lld")
// Bey
// By?e
// Be?y
稳定归并



京公网安备 11010502036488号