#include<iostream>
#include<cstring>
#include<queue>
using namespace std;
string b;
priority_queue<char,vector<char>,greater<char> >a; //定义一个小根堆(升序)
int main()
{
cin>>b;
for(int i=0;i<b.length();i++)
a.push(b[i]);
while(a.size())
{
cout<<a.top();
a.pop();
}
return 0;
}