from collections import defaultdict, deque from itertools import product Y = 81181819 def dfs(n): len_n = len(str(n)) for prod in product([0, 1, 8], repeat=len_n): val = sum([10**i * prod[i] for i in range(len_n)]) def solve(): N = Y - int(input()) if N < 10: print(N // 8 + N % 8) return que = deque([(0, N)]) prev = defaultdict(lambda: -1) while que: dist, n = que.popleft() len_n = len(str(n)) for prod in product([0, 1, 8], repeat=len_n): val = n - sum([10**i * prod[~i] for i in range(len_n)]) if val < 0: break if val == N or prev[val] != -1: continue if val == 0: print(dist + 1) prev[val] = n while (v := prev[val]) != -1: print(v - val) val = v return que.append((dist + 1, val)) prev[val] = n if __name__ == "__main__": T = int(input()) for _ in range(T): solve()