const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void (async function () {
while ((line = await readline())) {
const len = line.length;
// 将整个字符串分成3份,0-9一份,a-z一份,A-Z一份
// 然后每份进行排序,使用sort方法,默认升序
let numArr = [];
let CapitalArr = [];
let lowerArr = [];
for (let i = 0; i < len; i++) {
let str = line[i];
switch (str) {
case str <= 9 && str >= 0:
numArr.push(str);
break;
case str.charCodeAt() <= 90 && str.charCodeAt() >= 65:
CapitalArr.push(str);
break;
default:
lowerArr.push(str);
}
}
numArr = numArr.sort()
CapitalArr = CapitalArr.sort()
lowerArr = lowerArr.sort()
const result = numArr.join('')+CapitalArr.join('')+lowerArr.join('')
console.log(result)
}
})();