難易度評価

難易度を1〜10段階で評価できます。投票はあとから変更・取り消しできます。

難易度(投票) Lv.7.7 (3票)

投票の分布
  1. Lv.10票
  2. Lv.20票
  3. Lv.30票
  4. Lv.40票
  5. Lv.50票
  6. Lv.60票
  7. Lv.71票
  8. Lv.82票
  9. Lv.90票
  10. Lv.100票

難易度の目安を見る ↗

ログインして難易度を投票

外部サイトへ移動します

リンク先の URL を確認してから開いてください。

別タブで開く

Fibonacci-th Fibonacci

作成者 taiki0715

難易度(作成者設定) Lv.6

難易度(投票) Lv.7.7 (3票)

実行時間制限
2 秒
メモリ制限
512 MiB

問題文

数列F,AF,Aを

Fn={nif n≤1Fn−1+Fn−2otherwise\begin{equation*} F_n= \begin{cases} n & \text{if $n \le 1$}\\ F_{n-1}+F_{n-2} & \text{otherwise} \end{cases} \end{equation*}

An={Nif n=0FAn−1otherwise\begin{equation*} A_n= \begin{cases} N & \text{if $n=0$}\\ F_{A_{n-1}} & \text{otherwise} \end{cases} \end{equation*}

とするとき、AKA_Kを998244353998244353で割った余りを求めてください。

TT個のテストケースが与えられるので、それぞれについて答えてください。

制約

  • 1≤T≤1001 \le T \le 100
  • 1≤N,K≤10181 \le N,K \le 10^{18}

入力

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

TT case1\mathrm{case}_1 case2\mathrm{case}_2 ⋮\vdots caseT\mathrm{case}_T

各テストケース caset (1≤t≤T)\mathrm{case}_t ~ (1 \leq t \leq T) は以下の形式で与えられる。

NKN \quad K

出力

TT 行出力せよ。 tt 行目には tt 番目のテストケースについての答えを出力せよ。

サンプル 1

入力

3
3 5
6 3
998244353 998244353

出力

1
10946
838877215

一つ目のテストケースについて、

nn 00 11 22 33 44 55 66
FnF_n 00 11 11 22 33 55 88
AnA_n 33 22 11 11 11 11 11

なのでA5=1A_5=1です。

二つ目のテストケースについて、A0=6,A1=8,A2=21,A3=10946A_0=6, A_1=8, A_2=21, A_3=10946です。