#include <iostream>
#include <algorithm>
using namespace std;
int main() {
long long x, K = 0, xm = 0, xM = 0;
//Вводимое число, искомое число, максимальное и минимальное из комбинации цифр
cin >> x;
int N[11];
int n = 0;
while(x != 0){//Количество цифр в числе, запись их в массив цифр
N[n] = abs(x % 10);
n++;
x /= 10;
}
bool t = true;
sort(N , N+n);//Сортировка цифр по возрастанию
long long ten = 1;
for(int j = 0; j < n-1; j++){
ten *= 10;
}
long long ten_copy = ten;
for(int i = 0; i < n; i++){//Преобразование цифр в наименьшее число
xm += N[i] * ten;
ten /= 10;
}
for(int i = n-1; i >= 0; i--){//Преобразование цифр в наибольшее число
xM += N[i] * ten_copy;
ten_copy /= 10;
}
K = xM - xm;
int c = 0;
long long K_tmp = K;
//Проверка на равенство количества цифр исходного числа и числа K
while(K_tmp != 0){
c++;
K_tmp /= 10;
}
//Добавление недостающих ведущих нулей
for(int i = 0; i < n-c; i++) cout << 0;
if(K!=0)//Если K==0, то нули были выведены предыдущим циклом
cout << K;//Вывод числа K
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7Cglsb25nIGxvbmcgeCwgSyA9IDAsIHhtID0gMCwgeE0gPSAwOwoJLy/QktCy0L7QtNC40LzQvtC1INGH0LjRgdC70L4sINC40YHQutC+0LzQvtC1INGH0LjRgdC70L4sINC80LDQutGB0LjQvNCw0LvRjNC90L7QtSDQuCDQvNC40L3QuNC80LDQu9GM0L3QvtC1INC40Lcg0LrQvtC80LHQuNC90LDRhtC40Lgg0YbQuNGE0YAKCWNpbiA+PiB4OwoJaW50IE5bMTFdOwoJaW50IG4gPSAwOwoJCgl3aGlsZSh4ICE9IDApey8v0JrQvtC70LjRh9C10YHRgtCy0L4g0YbQuNGE0YAg0LIg0YfQuNGB0LvQtSwg0LfQsNC/0LjRgdGMINC40YUg0LIg0LzQsNGB0YHQuNCyINGG0LjRhNGACgkJTltuXSA9IGFicyh4ICUgMTApOwoJCW4rKzsKCQl4IC89IDEwOwoJfQoJCglib29sIHQgPSB0cnVlOwoKCXNvcnQoTiAsIE4rbik7Ly/QodC+0YDRgtC40YDQvtCy0LrQsCDRhtC40YTRgCDQv9C+INCy0L7Qt9GA0LDRgdGC0LDQvdC40Y4KCglsb25nIGxvbmcgdGVuID0gMTsKCQoJZm9yKGludCBqID0gMDsgaiA8IG4tMTsgaisrKXsKCQl0ZW4gKj0gMTA7Cgl9CgkKCWxvbmcgbG9uZyB0ZW5fY29weSA9IHRlbjsKCQoJZm9yKGludCBpID0gMDsgaSA8IG47IGkrKyl7Ly/Qn9GA0LXQvtCx0YDQsNC30L7QstCw0L3QuNC1INGG0LjRhNGAINCyINC90LDQuNC80LXQvdGM0YjQtdC1INGH0LjRgdC70L4KCQl4bSArPSBOW2ldICogdGVuOwoJCXRlbiAvPSAxMDsKCX0KCQoJZm9yKGludCBpID0gbi0xOyBpID49IDA7IGktLSl7Ly/Qn9GA0LXQvtCx0YDQsNC30L7QstCw0L3QuNC1INGG0LjRhNGAINCyINC90LDQuNCx0L7Qu9GM0YjQtdC1INGH0LjRgdC70L4KCQl4TSArPSBOW2ldICogdGVuX2NvcHk7CgkJdGVuX2NvcHkgLz0gMTA7Cgl9CgkKCUsgPSB4TSAtIHhtOwoJaW50IGMgPSAwOwoJCglsb25nIGxvbmcgS190bXAgPSBLOwoJLy/Qn9GA0L7QstC10YDQutCwINC90LAg0YDQsNCy0LXQvdGB0YLQstC+INC60L7Qu9C40YfQtdGB0YLQstCwINGG0LjRhNGAINC40YHRhdC+0LTQvdC+0LPQviDRh9C40YHQu9CwINC4INGH0LjRgdC70LAgSwoJd2hpbGUoS190bXAgIT0gMCl7CgkJYysrOwoJCUtfdG1wIC89IDEwOwoJfQoJCgkvL9CU0L7QsdCw0LLQu9C10L3QuNC1INC90LXQtNC+0YHRgtCw0Y7RidC40YUg0LLQtdC00YPRidC40YUg0L3Rg9C70LXQuQoJZm9yKGludCBpID0gMDsgaSA8IG4tYzsgaSsrKSBjb3V0IDw8IDA7CgkKCWlmKEshPTApLy/QldGB0LvQuCBLPT0wLCDRgtC+INC90YPQu9C4INCx0YvQu9C4INCy0YvQstC10LTQtdC90Ysg0L/RgNC10LTRi9C00YPRidC40Lwg0YbQuNC60LvQvtC8CgkJY291dCA8PCBLOy8v0JLRi9Cy0L7QtCDRh9C40YHQu9CwIEsKCQkKCXJldHVybiAwOwp9