#include<bits/stdc++.h>
#define int long long
using namespace std;
int n;
map < int , bool > s;
vector < int > q;
bool ok;
int sta;
int getmax(int n)
{
int num = 0;
int ans = 0;
int a[20];
while(n)
a[++ num] = n % 10,
n /= 10;
sort(a + 1 , a + num + 1);
for(int i = num;i;i --)
ans = ans * 10 + a[i];
return ans;
}
int getmin(int n)
{
int num = 0;
int ans = 0;
int a[20];
while(n)
a[++ num] = n % 10,
n /= 10;
sort(a + 1 , a + num + 1);
for(int i = 1;i <= num;i ++)
ans = ans * 10 + a[i];
return ans;
}
void work(int n)
{
if(n >= 1000 && n <= 9999)
{
puts("6174");
return ;
}
q.clear();
s.clear();
ok = false;
int num;
while(true)
{
num = getmax(n) - getmin(n);
if(s[num])
{
sta = num;
break;
}
else
q.push_back(num) , s[num] = true;
n = num;
}
for(int i = 0;i < q.size();i ++)
if(q[i] == sta || ok)
cout << q[i] << ' ' , ok = true;
cout << '\n';
return ;
}
main()
{
while(cin >> n)
work(n);
}