#include"stdio.h"
#include"vector"
#include"cmath"
using namespace std;
int antiNum(int x)
{
int antix=0;
int nums[100];
for(int i=0;x!=0;i++)
{
nums[i]=x%10;
x/=10;
antix*=10;
antix+=nums[i];
}
return antix;
}
int main()
{
int x;
while(~scanf("%d",&x))
{
int cnt=0,antix;
vector<int>vc;
vc.push_back(x);
for(int i=0,antix=antiNum(x);antix!=x;cnt++,i++)
{
if(antix==x) break;
x+=antix;
vc.push_back(x);
antix=antiNum(x);
}
printf("%d\n",cnt);
for(int i=0;i<(int)vc.size();i++)
{
printf("%d",vc[i]);
if(i!=(int)vc.size()-1) printf("--->");
}
printf("\n");
}
return 0;
}
#include"vector"
#include"cmath"
using namespace std;
int antiNum(int x)
{
int antix=0;
int nums[100];
for(int i=0;x!=0;i++)
{
nums[i]=x%10;
x/=10;
antix*=10;
antix+=nums[i];
}
return antix;
}
int main()
{
int x;
while(~scanf("%d",&x))
{
int cnt=0,antix;
vector<int>vc;
vc.push_back(x);
for(int i=0,antix=antiNum(x);antix!=x;cnt++,i++)
{
if(antix==x) break;
x+=antix;
vc.push_back(x);
antix=antiNum(x);
}
printf("%d\n",cnt);
for(int i=0;i<(int)vc.size();i++)
{
printf("%d",vc[i]);
if(i!=(int)vc.size()-1) printf("--->");
}
printf("\n");
}
return 0;
}