1521 - 构造数列

通过次数

3

提交次数

5

时间限制 : 1 秒
内存限制 : 128 MB

我们规定如果一个正整数满足除最高位外其它所有数位均为 0 ,则称该正整数为圆数。

例如,1,8,900,70,5000 都是圆数,120,404,333,8008 都不是圆数。

给定一个正整数 n,请你构造一个圆数数列,要求:

数列中所有元素相加之和恰好为 n 。 数列长度尽可能短。

输入

第一行包含整数 T,表示共有 T组测试数据。

每组数据占一行,包含一个整数 n 。

输出

每组数据输出两行结果,第一行输出数列长度,第二行输出构造数列。

如果方案不唯一,输出低位到高位的结果。

样例

输入

5
5009
7
9876
10000
10

输出

2
9 5000
1
7
4
6 70 800 9000
1
10000
1
10

提示

所有测试点满足 1≤T≤10000,1≤n≤10000。