#include <bits/stdc++.h>
using namespace std;
int check(int x, int* cycle, int length){
for (int i=1;i<=length;i++){
if (x==cycle[i]) return i;
}
return 0;
}
void output(int pos, int* cycle, int length){
for (int i=pos;i<=length;i++){
cout<<cycle[i]<<' ';
}
puts("");
}
int main(){
int n;
while (cin>>n){
int i=0;
int cycle[50];
memset(cycle,0,sizeof(cycle));
cycle[++i]=n;
while (true){
int k[15];
memset(k,0,sizeof(k));
while (n){
k[n%10]++;
n/=10;
}
int newnsmall=0, newnbig=0;
for (int i=0;i<=9;i++){
for (int j=1;j<=k[i];j++){
newnsmall+=i;
newnsmall*=10;
}
}
newnsmall/=10;
for (int i=9;i>=0;i--){
for (int j=1;j<=k[i];j++){
newnbig+=i;
newnbig*=10;
}
}
newnbig/=10;
int newn=newnbig-newnsmall;
if (check(newn, cycle, i)) {
output(check(newn, cycle, i), cycle, i);
break;
}
else {
cycle[++i]=newn;
n=newn;
}
}
}
return 0;
}