#abc269f. [abc269_f]Numbered Checker

[abc269_f]Numbered Checker

問題文

NNMM 列のグリッドがあり、上から ii 行目、左から jj 列目のマス (i,j)(i,j) には整数 (i1)timesM+j(i-1) \\times M + j が書かれています。
このグリッドに、以下の操作を施します。

  • 全てのマス (i,j)(i,j) について、 i+ji+j が奇数ならそのマスに書かれている数字を 00 に書き換える。

操作後のグリッドについて、QQ 個の質問に答えてください。
ii 個目の質問は以下の通りです:

  • 以下の条件を全て満たすマス (p,q)(p,q) 全てについて、そこに書かれている整数を全て足し合わせた値を 998244353998244353 で割った余りを求めよ。
    • AilepleBiA_i \\le p \\le B_i
    • CileqleDiC_i \\le q \\le D_i

制約

  • 入力は全て整数
  • 1leN,Mle1091 \\le N,M \\le 10^9
  • 1leQle2times1051 \\le Q \\le 2 \\times 10^5
  • 1leAileBileN1 \\le A_i \\le B_i \\le N
  • 1leCileDileM1 \\le C_i \\le D_i \\le M

入力

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

NN MM QQ A1A_1 B1B_1 C1C_1 D1D_1 A2A_2 B2B_2 C2C_2 D2D_2 vdots\\vdots AQA_Q BQB_Q CQC_Q DQD_Q

出力

QQ 行出力せよ。
そのうち ii 行目には、 ii 個目の質問に対する答えを整数として出力せよ。


入力例 1

5 4
6
1 3 2 4
1 5 1 1
5 5 1 4
4 4 2 2
5 5 4 4
1 5 1 4

出力例 1

28
27
36
14
0
104

この入力では、グリッドは以下の通りです。

この入力には 66 つの質問が含まれます。

  • 11 個目の質問の答えは 0+3+0+6+0+8+0+11+0=280+3+0+6+0+8+0+11+0=28 です。
  • 22 個目の質問の答えは 1+0+9+0+17=271+0+9+0+17=27 です。
  • 33 個目の質問の答えは 17+0+19+0=3617+0+19+0=36 です。
  • 44 個目の質問の答えは 1414 です。
  • 55 個目の質問の答えは 00 です。
  • 66 個目の質問の答えは 104104 です。

入力例 2

1000000000 1000000000
3
1000000000 1000000000 1000000000 1000000000
165997482 306594988 719483261 992306147
1 1000000000 1 1000000000

出力例 2

716070898
240994972
536839100

11 個目の質問について、マス (109,109)(10^9,10^9) に書かれている整数は 101810^{18} ですが、それを 998244353998244353 で割った余りを求めることに注意してください。


入力例 3

999999999 999999999
3
999999999 999999999 999999999 999999999
216499784 840031647 84657913 415448790
1 999999999 1 999999999

出力例 3

712559605
648737448
540261130