#arc051d. [arc051_d]長方形

[arc051_d]長方形

问题文

给定长度为 WW 的数列 a1,a2,...,aWa_1, a_2, ..., a_W 和长度为 HH 的数列 b1,b2,...,bHb_1, b_2, ..., b_H

考虑一个 W×HW \times H 的方格,其中第 ii 行第 jj 列的方格中写有 ai+bja_i + b_j

给定 QQ 个查询,请处理每个查询的情况:

  • 给定 AABB,选取左上角位置在 AA 行以内、BB 列以内的一些方格,使得选取的方格形成一个矩形。输出所选取方格的值的总和的最大值。

注意,不能不选取任何方格。

约束条件

  • 1W,H20001 ≤ W, H ≤ 2000
  • 1Q20001 ≤ Q ≤ 2000
  • 1AW1 ≤ A ≤ W
  • 1BH1 ≤ B ≤ H
  • 100,000ai,bi100,000-100,000 ≤ a_i, b_i ≤ 100,000

输入

输入以以下格式从标准输入中给出。

WW HH a1a_1 a2a_2 ... aWa_W b1b_1 b2b_2 ... bHb_H QQ A1A_1 B1B_1 A2A_2 B2B_2 : AQA_Q BQB_Q

其中,AiA_iBiB_i 分别表示第 ii 个查询的 AABB

输出

输出 QQ 行。

ii 行输出第 ii 个查询的结果。

输入示例1

2 2
0 10
0 -1
4
1 1
1 2
2 1
2 2

输出示例1

0
0
10
19

输入示例2

3 3
1 10 100
1000 10000 100000
9
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3

输出示例2

1001
11002
111003
2011
22022
222033
3111
33222
333333

输入示例3

10 8
2 -4 0 0 -1 4 5 0 -3 0
2 0 0 -3 -5 -5 -4 -4
10
2 6
1 4
1 2
5 7
1 5
7 6
7 4
1 5
3 5
10 7

输出示例3

8
8
6
8
8
34
34
8
8
36