t = int(input()) yiwiyNumber = 81181819 canMake = [] nums = [0, 1, 8] for i in range(1, pow(3, 8)): k = i sm = 0 for j in range(8): sm *= 10 sm += nums[k % 3] k //= 3 canMake.append(sm) canMake = list(set(canMake)) canMake.sort(reverse=True) for _ in range(t): n = int(input()) n = yiwiyNumber-n dist = [[] for _ in range(8)] k = n cnt = 0 for i in range(8): if k % 10 == 8: dist[i].append(8) cnt += 1 elif k % 10 == 9: dist[i].append(8) dist[i].append(1) cnt += 2 else: for j in range(k % 10): dist[i].append(1) cnt += k % 10 k //= 10 for i in range(7, 0, -1): if len(dist[i])-len(dist[i-1]) >= 4 and (1 in dist[i]): dist[i].remove(1) dist[i-1].append(1) dist[i-1].append(1) dist[i-1].append(8) cnt += 2 合成ねこ = [] while cnt != 0: ねこ = 0 for j in range(7, -1, -1): ねこ *= 10 if len(dist[j]): ねこ += dist[j].pop() cnt -= 1 合成ねこ.append(ねこ) print(len(合成ねこ)) for ねこ in 合成ねこ: print(ねこ) """ 14 10+4 10+1+1+1+1 まとめる 11+1+1+1 21 10+10+1 まとめる 10+11 181 100+10+10+...+10+1 まとめる 100+80+1 181 81181819 まとめる 81181818+1 """