#include using namespace std; #define rep(i, n) for (int i = 0; i < (int)n; i++) using ll = long long int; #define MOD 998244353 int mod_pow(int x, int n) { int ret = 1; while (n > 0) { if ((n & 0x01) != 0) ret = (long long)ret * x % MOD; x = (long long)x * x % MOD; n >>= 1; } return ret; } int main() { int T; cin >> T; rep(i, T) { int N, M; cin >> N >> M; // num = 10^N - 1 // den = 10^M + 1 // num = 10^(N-M)10^M - 1 = 10^(N-M)(10^M + 1) - 10^(N-M) - 1 // num/den = 10^(N-M) - (10^(N-M) + 1) / den // = 10^(N-M) - (10^(N-M*2)10^M + 1) / den // = 10^(N-M) - (10^(N-M*2)(10^M + 1) - 10^(N-M*2) + 1) / den // = 10^(N-M) - 10^(N-M*2) + (10^(N-M*2) - 1) / den // num%den = (10^(N-M*2) - 1) / den // N2 = N-M*2*k (N>=M*2*k) // num%den = (10^N2 - 1)/den = (10^(N2-M)10^M - 1) % den // = (10^(N2-M)(10^M + 1) - 10^(N2-M) - 1) % den // = (-10^(N2-M) - 1) % den // = ((10^M + 1) - 10^(N2-M) - 1) % (10^M + 1) // = (10^M - 10^(N2-M)) % (10^M + 1) // N2 < M ... 10^N2 - 1 < 10^M + 1 // num%den = 10^N2 -1 // N2 >= M ... N2 <= M*2 ... N2 - M < M // 10^M - 10^(N2-M) < 10^M + 1 // um%den = 10^M - 10^(N2-M) int N2 = N % (2*M); int ans; if (N2 < M) { ans = mod_pow(10, N2) - 1; } else { ans = mod_pow(10, M) - mod_pow(10, N2-M); } if (ans < 0) ans += MOD; cout << ans << endl; } return 0; }