#aBC269Fid585. Numbered Checker

Numbered Checker

No testdata at current.

AT_abc269_f [ABC269F] Numbered Checker

题目描述

有一个 NNMM 列的网格,在从上往下第 ii 行、从左往右第 jj 列的格子 (i,j)(i,j) 上写着整数 (i1)×M+j(i-1)\times M + j。 对这个网格进行如下操作:

  • 对于所有格子 (i,j)(i,j),如果 i+ji+j 是奇数,则将该格子上的数字改写为 00

对于操作后的网格,有 QQ 个询问需要回答。 第 ii 个询问如下:

  • 对于所有满足以下条件的格子 (p,q)(p,q),求这些格子上写着的整数之和对 998244353998244353 取模的结果。
    • AipBiA_i \leq p \leq B_i
    • CiqDiC_i \leq q \leq D_i

输入格式

输入以如下格式从标准输入读入。

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

输出格式

输出 QQ 行。 第 ii 行输出第 ii 个询问的答案,输出为一个整数。

输入输出样例 #1

输入 #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

输入输出样例 #2

输入 #2

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

输出 #2

716070898
240994972
536839100

输入输出样例 #3

输入 #3

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

输出 #3

712559605
648737448
540261130

说明/提示

数据范围

  • 输入均为整数。
  • 1N,M1091 \leq N, M \leq 10^9
  • 1Q2×1051 \leq Q \leq 2 \times 10^5
  • 1AiBiN1 \leq A_i \leq B_i \leq N
  • 1CiDiM1 \leq C_i \leq D_i \leq M

样例解释 1

在本输入中,网格如下所示。
本输入包含 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

对于第 11 个询问,格子 (109,109)(10^9,10^9) 上写着的整数是 101810^{18},但需要对 998244353998244353 取模。

由 ChatGPT 4.1 翻译