#include<stdio.h>
#include<string.h>
int main()
{
char ch[10000];
int i,j,e,flog;
__int64 t,a[10000];
while(gets(ch))
{
memset(a,0,sizeof(a));//把a[10000]都初始化为0;a是用来装找出来的数
for(e=0;e<strlen(ch);e++)//这里字符串最前面可能有5,所以先把前面的5去掉
if(ch[e]!='5')
break;
flog=0;t=1;j=0;//j是代表找出的第几个数的下角码
for(i=strlen(ch)-1;i>=e;i--)//这里要从最后开始往前找
{
if(ch[i]!='5')//是5的话说明这个数就己经结束
{
a[j]+=(ch[i]-'0')*t;//t=1表示这个数的个位数,等10表示十位数,以此类推
t*=10; flog=1;//flog是控制下一个数的开关
}
else if(flog)//如果为真说明上面找的数己经结束,到找一下个数了,
{
j++;t=1;flog=0;//t和flog初始化;j++是下一个数了
}
}
for(i=0;i<=j;i++)//把找出来的数从小到大排序
for(e=i+1;e<=j;e++)
if(a[i]>a[e])
{
t=a[i];a[i]=a[e];a[e]=t;
}
t=0;
for(i=0;i<=j;i++)//输出,注意是两个数之间有空隔
{
if(t==0)
{
printf("%I64d",a[i]);
t=1;
}
else
printf(" %I64d",a[i]);
}
printf("\n");
}
return 0;
}