def check(i, n): if dp[i](n+1)*9: nine = s//9 amari = s%9 one = 0 else: t = s-(n+1) nine = t//8 amari = t%8 amari += 1 one = (n+1)-(nine+1) ret = 0 ret += (pow(10, nine, MOD) - 1) % MOD ret += pow(10, nine, MOD) * amari % MOD ret += (pow(10, one, MOD) - 1) % MOD * inv_9 % MOD * pow(10, nine+1, MOD) % MOD ret %= MOD return ret def wa(x): ret = 0 while x>0: ret += x%10 x//=10 return ret import sys input = sys.stdin.readline MOD = 998244353 T = int(input()) N = [int(input()) for _ in range(T)] inv_9 = pow(9, MOD-2, MOD) mono = [set() for _ in range(15)] mono[0] = set([i for i in range(1, 10)]) for i in range(14): for j in mono[i]: tmp = j%10 for k in range(tmp, 10): tmp2 = j*10+k mono[i+1].add(tmp2) dp = set() for i in range(15): for j in mono[i]: tmp = wa(j) if tmp<10 or tmp in dp: dp.add(j) dp = list(dp) dp.sort() for n in N: l = -1 r = len(dp) while r-l>1: mid = (l+r)//2 if check(mid, n): r = mid else: l = mid S = dp[r] ans = calc(S, n) print(ans)