def naive(): from collections import defaultdict def check(n): STR = str(n) for i in range(len(STR) - 2): if(int(STR[i]) > int(STR[i+1]) + int(STR[i+2])):return True return False d = defaultdict(int) for i in range(100, 10000): if(not check(i)):continue if(sum(int(j) for j in str(i)) in d):continue d[sum(int(j) for j in str(i))] = i for k,v in sorted(d.items()): print(k,v) print(d) # naive() d = {1: 100, 2: 200, 3: 201, 4: 301, 5: 302, 6: 402, 7: 403, 8: 503, 9: 504, 10: 604, 11: 605, 12: 705, 13: 706, 14: 806, 15: 807, 16: 907, 17: 908, 18: 1908, 19: 2908, 20: 3908, 21: 4908, 22: 5908, 23: 6908, 24: 7908, 25: 8908, 26: 9089} T = int(input()) for _ in range(T): K = int(input()) if(K in d): print(d[K]) else: nine = (K - 17) // 9 rem = (K - 17) % 9 if(rem == 0): print("908" + "9" * nine) else: print(str(rem) + "908" + "9" * nine)