Quasi-binary number (qbin)

Description


We call the number consisting of 0 and 1 in the decimal number "quasi-binary number", input a positive integer \(n\), and decompose it into the smallest sum of "quasi-binary numbers".

Format


Input

The first line is a positive integer \(t(≤10)\), which represents the number of data groups; the next line is a positive integer \(n(≤10^9)\).

Output

For each \(n\), sort the decomposed quasi-binary numbers from smallest to largest and output them. If there are multiple sets of solutions, output the solution with the smallest lexicographic order.

Sample


Input

2
9
463

Output

1 1 1 1 1 1 1 1 1
10 10 110 111 111 111

Sample Explanation

When \(n\)=463, it can be decomposed into \(\text{11 11 110 110 110 111}\), but the smallest lexicographical solution is \(\text{10 10 110 111 111 111}\).

Sample Code


#include <cstdio>
int main(){
	freopen("qbin.in", "r", stdin);
	freopen("qbin.out", "w", stdout);
	int d[10]={0, 1};
	for (int i=2; i<10; i++)
		d[i]=d[i-1]*10;
	int t, n;
	scanf("%d", &t);
	while (t--){
		scanf("%d", &n);
		int w, a[10]={0};
		for (w=0; n; n/=10)
			a[++w]=n%10;
		int k=0;
		int c[10]={0};
		for (int i=1; i<=w; i++){
			if (k<a[i]) k=a[i];
			for (int j=1; j<=a[i]; j++)
				c[j]+=d[i];
		}
		for (int i=k; i>0; i--)
			printf("%d ", c[i]);
		printf("\n");
	}
	return 0;
} 
posted @ 2020-10-13 00:24  Sample_Test  阅读(110)  评论(0编辑  收藏  举报