#abc366d. D - Cuboid Sum Query

D - Cuboid Sum Query

Score : 400400 points

问题陈述

给定一个正整数 NN,以及对于每一组整数三元组 (x,y,z)(x, y, z) 的整数 Ax,y,zA_{x,y,z},满足 1x,y,zN1 \leq x, y, z \leq N

你将按照顺序处理以下格式的 QQ 个查询。

对于第 ii 个查询 (1iQ)(1 \leq i \leq Q),你将得到一组整数 (Lxi,Rxi,Lyi,Ryi,Lzi,Rzi)(Lx_i, Rx_i, Ly_i, Ry_i, Lz_i, Rz_i),满足 1LxiRxiN1 \leq Lx_i \leq Rx_i \leq N1LyiRyiN1 \leq Ly_i \leq Ry_i \leq N,以及 1LziRziN1 \leq Lz_i \leq Rz_i \leq N。计算:

$\displaystyle{\sum_{x=Lx_i}^{Rx_i} \sum_{y=Ly_i}^{Ry_i} \sum_{z=Lz_i}^{Rz_i} A_{x,y,z}}$。

以上为大语言模型 kimi 翻译,仅供参考。

Problem Statement

You are given a positive integer NN, and an integer Ax,y,zA_{x,y,z} for each triple of integers (x,y,z)(x, y, z) such that 1x,y,zN1 \leq x, y, z \leq N.

You will be given QQ queries in the following format, which must be processed in order.

For the ii-th query (1iQ)(1 \leq i \leq Q), you are given a tuple of integers (Lxi,Rxi,Lyi,Ryi,Lzi,Rzi)(Lx_i, Rx_i, Ly_i, Ry_i, Lz_i, Rz_i) such that 1LxiRxiN1 \leq Lx_i \leq Rx_i \leq N, 1LyiRyiN1 \leq Ly_i \leq Ry_i \leq N, and 1LziRziN1 \leq Lz_i \leq Rz_i \leq N. Find:

$\displaystyle{\sum_{x=Lx_i}^{Rx_i} \sum_{y=Ly_i}^{Ry_i} \sum_{z=Lz_i}^{Rz_i} A_{x,y,z}}$.

Constraints

  • 1N1001 \leq N \leq 100
  • 1Q2×1051 \leq Q \leq 2 \times 10^{5}
  • 0Ax,y,z9990 \leq A_{x,y,z} \leq 999 (1x,y,zN)(1 \leq x, y, z \leq N)
  • 1LxiRxiN1 \leq Lx_i \leq Rx_i \leq N (1iQ)(1 \leq i \leq Q)
  • 1LyiRyiN1 \leq Ly_i \leq Ry_i \leq N (1iQ)(1 \leq i \leq Q)
  • 1LziRziN1 \leq Lz_i \leq Rz_i \leq N (1iQ)(1 \leq i \leq Q)
  • All input values are integers.

Input

The input is given from Standard Input in the following format:

NN

A1,1,1A_{1,1,1} A1,1,2A_{1,1,2} \ldots A1,1,NA_{1,1,N}

A1,2,1A_{1,2,1} A1,2,2A_{1,2,2} \ldots A1,2,NA_{1,2,N}

\vdots

A1,N,1A_{1,N,1} A1,N,2A_{1,N,2} \ldots A1,N,NA_{1,N,N}

A2,1,1A_{2,1,1} A2,1,2A_{2,1,2} \ldots A2,1,NA_{2,1,N}

A2,2,1A_{2,2,1} A2,2,2A_{2,2,2} \ldots A2,2,NA_{2,2,N}

\vdots

A2,N,1A_{2,N,1} A2,N,2A_{2,N,2} \ldots A2,N,NA_{2,N,N}

\vdots

AN,1,1A_{N,1,1} AN,1,2A_{N,1,2} \ldots AN,1,NA_{N,1,N}

AN,2,1A_{N,2,1} AN,2,2A_{N,2,2} \ldots AN,2,NA_{N,2,N}

\vdots

AN,N,1A_{N,N,1} AN,N,2A_{N,N,2} \ldots AN,N,NA_{N,N,N}

QQ

Lx1Lx_1 Rx1Rx_1 Ly1Ly_1 Ry1Ry_1 Lz1Lz_1 Rz1Rz_1

Lx2Lx_2 Rx2Rx_2 Ly2Ly_2 Ry2Ry_2 Lz2Lz_2 Rz2Rz_2

\vdots

LxQLx_Q RxQRx_Q LyQLy_Q RyQRy_Q LzQLz_Q RzQRz_Q

Output

Print QQ lines. The ii-th line should contain the answer to the ii-th query.

Sample Input 1

2
1 2
3 4
5 6
7 8
2
1 2 2 2 1 1
2 2 1 2 1 2

Sample Output 1

10
26

For the 1st query, the sought value is A1,2,1+A2,2,1=3+7=10A_{1,2,1} + A_{2,2,1} = 3 + 7 = 10. Thus, print 1010.

For the 2nd query, the sought value is $A_{2,1,1} + A_{2,1,2} + A_{2,2,1} + A_{2,2,2} = 5 + 6 + 7 + 8 = 26$. Thus, print 2626.

Sample Input 2

3
733 857 714
956 208 257
123 719 648
840 881 245
245 112 746
306 942 694
58 870 849
13 208 789
687 906 783
8
3 3 3 3 1 1
1 3 2 3 3 3
2 2 2 3 1 1
1 3 1 1 1 1
2 3 2 3 2 3
1 2 1 1 1 2
3 3 2 2 1 3
1 2 2 3 2 3

Sample Output 2

687
3917
551
1631
5180
3311
1010
4326