#include<stdio.h>
/*int main()
{
int x;
scanf("%d",&x);
//x=13425;
int t=0;
do{
int d=x%10;
t=t*10+d;
x/=10;
}while(x>0);
printf("t=%d\n",t);
x=t;
do{
int d=x%10;
printf("%d",d);
if(x>=10){
printf(" ");
}
x/=10;
} while(x>0);
return 0;
} //先逆序再逆序的情況只適合末尾不是0的情況 */
/* 13425/10000-->1 // 要輸出的數
13425%10000-->3425 // 餘數
10000/10-->1000
3425/1000-->3
3425%1000-->425
1000/10-->100
425/100-->4
425%100-->25
100/10-->10
25/10-->2
25%10-->5
10/10-->1
5/1-->5
5%1-->0
1/10-->0*/
//當將整數分解完之後,最後得到的餘數爲0。可以作爲循環結束的條件。
//但是萬一這個整數一開始對10000的餘數就爲0了呢?所以採用餘數是否爲0的方法判斷循環結束是不靠譜的。但是我們觀察到不管怎樣,直到結束之時,mask在其中都不會爲0。因此mask可以作爲一個很好的判斷標準。
int main()
{
int x;
scanf("%d",&x);
int temp=x;
int mask=1;
while(temp>=10){
mask*=10;
temp/=10;
}
//printf("%d\n",mask);
do{
int d=x/mask;
printf("%d",d);
if(mask>=10){
printf(" ");
}
x%=mask;
mask/=10;
//printf("x=%d,mask=%d,d=%d\n",x,mask,d);
}while(mask>0);
return 0;
}