import sys # input = lambda :sys.stdin.readline()[:-1] ni = lambda :int(input()) na = lambda :list(map(int,input().split())) yes = lambda :print("yes");Yes = lambda :print("Yes");YES = lambda : print("YES") no = lambda :print("no");No = lambda :print("No");NO = lambda : print("NO") ####################################################################### """ 9 1 = 1 2 4 7 3 5 6 8 9 """ def f(x): return max([int(x) for x in str(x)]) def calc(l, r): ans = 0 for i in range(l, r + 1): ans += f(i) return ans def naive(n): for i in range(1, 30): for j in range(i, 30): if calc(i, j) == n: return i, j for _ in range(ni()): n = ni() x = 0 t = 0 while (n - t) % 9: if x == 0: t += 1 else: t += f(x) x += 1 # print("!", n, x, t) if n < t: print(*naive(n)) else: z = (n - t) // 9 print(10 ** 17 - z, 10 ** 17 + x - 1) # print("!", x, t, calc(10 ** 17 - z, 10 ** 17 + x - 1)) # assert calc(10 ** 17 - z, 10 ** 17 + x - 1) == n