local mfl, mce = math.floor, math.ceil local mod = 1000000009 local function badd(x, y) return (x + y) % mod end local dp = {} local lim = mfl(10000000000 / 111111) for i = 1, lim do dp[i] = 0 end for i = 1, 9 do dp[i] = badd(dp[i], 1) for j = 1, lim - i do dp[i + j] = badd(dp[i + j], dp[j]) end end local sum = {} sum[1] = badd(1, dp[1]) for i = 2, lim do sum[i] = badd(sum[i - 1], dp[i]) end local q = io.read("*n") for iq = 1, q do local a = io.read("*n") local ap = mfl(a / 111111) print(ap == 0 and 1 or sum[ap]) end