//用容器按序存,然后遍历原数组,如果遍历到字母就输出
#include<bits/stdc++.h>
using namespace std;
string String_Sorting(string str)
{
int len=str.size();
vector<char>vec;
for(int j=0;j<26;j++)
{
for(int i=0;i<len;i++)
{
if((str[i]-'a'==j)||(str[i]-'A'==j))
{
vec.push_back(str[i]);
}
}
}
for(int i=0,k=0;(i<len)&&(k<vec.size());i++)
{
if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'))
{
str[i]=vec[k];
k++;
}
}
return str;
}
int main()
{
string str;
getline(cin,str);
cout<<String_Sorting(str)<<endl;;
}