for _ in range(int(input())): s=str(81181819-int(input()))[::-1] n=len(s) for i in range(10): a={0:[]} for j in range(n): b={} for k in range(i+1): for l in range(i+1-k): for m in a: x=8*k+l+m if x%10==int(s[j]): b[x//10]=a[m][:] if l>0: b[x//10].append((pow(10,j),l)) if k>0: b[x//10].append((pow(10,j)*8,k)) a=b if 0 in a: print(i) ans=[0 for _ in range(i)] z=[[True for _ in range(n)] for _ in range(i)] for j in range(len(a[0])): for k in range(a[0][j][1]): for l in range(i): if z[l][len(str(a[0][j][0]))-1]: ans[l]+=a[0][j][0] z[l][len(str(a[0][j][0]))-1]=False break for j in ans: print(j) break