問題文

文字列 S="123456789"S = \text{"123456789"} とします。
文字列 TT を、SS1010010^{100} 回連結して得られる文字列とします。
より厳密には、任意の正の整数 jj に対し、TTjj 文字目 TjT_j((j1)(mod9))+1((j-1) \pmod 9) + 1 となります。

QQ 個のクエリが与えられますので、順に処理してください。\

ii 番目(1iQ1 \le i \le Q)のクエリでは3つの整数 li,ri,Mil_i, r_i, M_i が与えられます。
TTlil_i 文字目から rir_i 文字目までを順に連結した長さ rili+1r_i - l_i + 1連続部分文字列T[li,ri]T[l_i, r_i] とします。
・この T[li,ri]T[l_i, r_i] を、MiM_i 個の空でない連続する部分文字列 A1,A2,,AMiA_1, A_2, \dots, A_{M_i} に分割することを考えます(すなわち、 A1,A2,,AMiA_1, A_2, \dots, A_{M_i} をこの順番に連結すると、T[li,ri]T[l_i,r_i] に一致するように A1,A2,,AMiA_1, A_2, \dots, A_{M_i} を定める。)
・各 AkA_k を 10 進法表記の整数とみなし、その値を v(Ak)v(A_k) とします。この分割におけるスコアを min1kMiv(Ak)\min_{1 \le k \le M_i} v(A_k) と定義します。
・すべての可能な分割におけるスコアの最大値 XiX_i を求めてください。ただし、値が非常に大きくなる可能性があるため、Xi(mod998244353)X_i \pmod{998244353} を出力してください。


制約

  • 1Q2×1051 \le Q \le 2 \times 10^5
  • 1liri10181 \le l_i \le r_i \le 10^{18}
  • 1Mirili+11 \le M_i \le r_i - l_i + 1
  • 入力はすべて整数である

入力

入力は以下の形式で標準入力から与えられる。

QQ
l1r1M1l_1 r_1 M_1
l2r2M2l_2 r_2 M_2

lQrQMQl_Q r_Q M_Q


出力

QQ 行出力せよ。 ii 行目(1iQ1 \le i \le Q)には、ii 番目のクエリにおけるスコアの最大値 XiX_i を 998244353 で割った余りを出力せよ。


入力例 1

出力例 1

1番目のクエリでは、T[1,3]T[1, 3] は文字列 "123" となります。これを M1=2M_1 = 2 個の部分文字列に分割する方法は ("1", "23") と ("12", "3") の2通り存在します。それぞれのスコア(分割された値の最小値)は min(1,23)=1\min(1, 23) = 1min(12,3)=3\min(12, 3) = 3 になります。このうち最大となるのは 3 であるため、3 を出力します。
3番目のクエリでは、T[1,5]T[1, 5] は文字列 "12345" であり、これを M3=1M_3 = 1 個に分割する(すなわち分割を行わない)ため、文字列全体をそのまま整数とみなした 12345 がスコアとなり、最大値も 12345 となります。


入力例 2

出力例 2

998244353998244353 で割ったあまりを出力することに注意してください。

提出


Go (1.21)