UPDATEIT - Update the array !


You have an array containing n elements initially all 0. You need to do a number of update operations on it. In each update you specify l, r and val which are the starting index, ending index and value to be added. After each update, you add the 'val' to all elements from index l to r. After 'u' updates are over, there will be q queries each containing an index for which you have to print the element at that index.

Input

First line consists of t, the number of test cases. (1 <= t <= 10)

Each test case consists of "n u", number of elements in the array and the number of update operations, in the first line (1 <= n <= 10000 and 1 <= u <= 100000)

Then follow u lines each of the format "l r val" (0 <= l, r < n, 0 <= val <=10000)

Next line contains q, the number of queries. (1 <= q <= 10000)

Next q lines contain an index (0 <= index < n)

Output

For each test case, output the answers to the corresponding queries in separate lines.

Example

Input:
1
5 3
0 1 7
2 4 6
1 3 2
3
0
3
4

Output:
7
8
6

hide comments
sas1905: 2017-05-10 08:15:20

No need of BIT..!! Simple O(1) query processing can be done..!!

artemis_fowl: 2017-05-03 15:16:34

TLE with cin/cout. AC with fast I/O ... ( ' -_-)

Last edit: 2017-05-03 15:17:23
nilabja16180: 2017-03-29 16:33:54

NO FAST I/O, No long long, AC in ONE GO!

flyingduchman_: 2017-03-25 14:40:44

Try the fastest I/O for Java otherwise TLE.

flyingduchman_: 2017-03-25 07:19:03

Misleading tag #bitmasks, LOL!
For each update, increase the left index and decrease the right+1 index by "val".
After all update, simply make the array a prefix sum ,which holds the soln.

Last edit: 2017-03-25 11:53:48
devbishnoi: 2017-03-20 17:29:30

just simple approach O(n), no need of bit.

up79: 2017-03-17 18:06:46

gud question :) be lazy :P

vunnamtej: 2017-03-12 07:38:03

if you are using prefix sum,don't forget to initialize prefix to zero for each test case

cake_is_a_lie: 2017-02-25 02:22:05

How is this related to #bitmasks?

coderaashir: 2017-02-16 10:45:20

Use fast I/O


Added by:Pandian
Date:2013-10-15
Time limit:1s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ASM64
Resource:Own