from sys import stdin input = stdin.readline def judge(n): s = str(n) return any(int(s[i]) > int(s[i+1])+int(s[i+2]) for i in range(len(s)-2)) MOD = 998244353 half = pow(2, -1, MOD) B = [] for n in range(0, 1000): k = n while not judge(k): k += 1 B.append(k-n) for _ in range(int(input())): N = int(input()) size = len(str(N)) dp = [[[[0]*1000 for _ in range(10)] for _ in range(10)] for _ in range(2)] dp[0][0][0][0] = 1 for i in range(size): n = N//10**(size-1-i)%10 ndp = [[[[0]*1000 for _ in range(10)] for _ in range(10)] for _ in range(2)] for small in range(2): for j in range(10): for k in range(10): for l in range(1000): if dp[small][j][k][l] == 0: continue for m in range(10 if small == 1 else n+1): if i <= 1 or j <= m: ndp[small or m < n][max(k-m, 0)][m][(l*10+m)%1000] += dp[small][j][k][l] ndp[small or m < n][max(k-m, 0)][m][(l*10+m)%1000] %= MOD dp = ndp ans = ((1+N)%MOD*N%MOD*half%MOD-100)%MOD for i in range(2): for j in range(10): for k in range(10): for l in range(1000): ans += B[l]*dp[i][j][k][l]%MOD ans %= MOD print(ans)