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