一块草地可以看成由无穷多的小方格组成,每一个小方格可以用一个坐标来描述。有N个矩形的床单铺在这些方格上,注意边长是方格的整数倍,且边与方格的边对齐。草地中间有一孔,坐标为(0, 0)。油从孔中喷出,且它以1秒一格的速度向八个方向扩散。我们从0开始记时,油到了这个格子,格子里的床单相应部分就会被污染。
[i]这是草地在0,1,2秒时的情况。[/i]
编程:给定的M个时间点。计算每个时间点被污染的总面积。
输入:
第一行一个整数N (1 ≤ N ≤ 100 000), 表示床单数。
接下来N行,每行四个整数$x_1, y_1, x_2$ 和$y_2$ (−1 000 000 ≤$x_1 ≤ x_2$ ≤ 1 000 000),
(−1 000 000 ≤$y_1 ≤ y_2$≤ 1 000 000). 表示矩形的对角线坐标。注意坐标并不是一个点,而是表示一个方格。且没有床单在坐标(0, 0).
接下来一行一个整数 M (1 ≤ M ≤ 100 000), 表示有M个时间点。
接下来一行M个0到1 000 000,之间的数。表示每一个时间点,按大小顺序给出。
输出:
对每一个时间点。顺次输出被污染的总面积。.
样例:
输入:
3
-2 1 1 2
1 0 2 1
-3 -3 -2 0
2
1 2
输出:
5
15
输入:
4
5 1 8 4
-8 1 -5 4
-10 2 10 3
6 0 8 10
6
1 2 3 4 7 9
输出:
0
5
14
18
70
100
输入:
1
1 1 1000000 1000000
3
100 10000 1000000
输出:
10000
100000000
1000000000000