/*
Migrated from Lutece 1513 简单的数学题
Description
这是一道简单的数学题,简单到题目只给你一个正整数N,而你则输出一个M,
这个M是由N的各个位数重新排列而来的(比如,N=123,则M可以为123,213,321,312,132,231)。
由于M有许多许多,所以要求你输出一个满足|N-M| % 9 =0 的最小M。
A % 9 = 0的含义为 A是9的倍数,比如9,18,0,9999等。
Input
一个正整数N(1<N<10 1000),保证N的每一位都不是0。
注意:因为N实在太大请使用至少1001位的char数组保存而非int保存N
Output
一个正整数M,如题目要求的那样。
*/
/*
(x+y) % m = (x % m + y % m) % m
x*10 % 9 = (x % 9 * 10 % 9) % 9 = x % 9, 10 % 9 = 1
423 % 9 = 400 % 9 + 10 % 9 + 3 % 9 = 4 % 9 + 2 % 9 + 3 % 9 = 7 % 9
(a - b) % 9 = (a % 9 - b % 9) % 9
423 % 9 = 234 % 9 = 342 % 9 = 324 % 9 = 243 % 9 = 432 % 9
(423 - 234)%9 = 0 % 9
*/
#include <iostream>
#include <string>
#include <algorithm>
int main(){
std::string numString;std::cin>>numString;
// x <--> y
// -y+x , -x*10^i+y*10^i
// ((y-x)*10^i + x-y) % 9 = (y-x+x-y)%9 = 0;
std::sort(numString.begin(),numString.end());
std::cout<<numString<<std::endl;
}