atcoder#ARC082D. [ARC082F] Sandglass

[ARC082F] Sandglass

Score : 700700 points

Problem Statement

We have a sandglass consisting of two bulbs, bulb A and bulb B. These bulbs contain some amount of sand. When we put the sandglass, either bulb AA or BB lies on top of the other and becomes the upper bulb. The other bulb becomes the lower bulb.

The sand drops from the upper bulb to the lower bulb at a rate of 11 gram per second. When the upper bulb no longer contains any sand, nothing happens.

Initially at time 00, bulb A is the upper bulb and contains aa grams of sand; bulb B contains XaX-a grams of sand (for a total of XX grams).

We will turn over the sandglass at time r1,r2,..,rKr_1,r_2,..,r_K. Assume that this is an instantaneous action and takes no time. Here, time tt refer to the time tt seconds after time 00.

You are given QQ queries. Each query is in the form of (ti,ai)(t_i,a_i). For each query, assume that a=aia=a_i and find the amount of sand that would be contained in bulb A at time tit_i.

Constraints

  • 1X1091 \leq X \leq 10^9
  • 1K1051 \leq K \leq 10^5
  • $1 \leq r_1
  • 1Q1051 \leq Q \leq 10^5
  • $0 \leq t_1
  • 0aiX(1iQ)0 \leq a_i \leq X (1 \leq i \leq Q)
  • All input values are integers.

Input

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

XX

KK

r1r_1 r2r_2 .. rKr_K

QQ

t1t_1 a1a_1

t2t_2 a2a_2

::

tQt_Q aQa_Q

Output

For each query, print the answer in its own line.

180
3
60 120 180
3
30 90
61 1
180 180
60
1
120

In the first query, 3030 out of the initial 9090 grams of sand will drop from bulb A, resulting in 6060 grams. In the second query, the initial 11 gram of sand will drop from bulb A, and nothing will happen for the next 5959 seconds. Then, we will turn over the sandglass, and 11 second after this, bulb AA contains 11 gram of sand at the time in question.

100
1
100000
4
0 100
90 100
100 100
101 100
100
10
0
0

In every query, the upper bulb initially contains 100100 grams, and the question in time comes before we turn over the sandglass.

100
5
48 141 231 314 425
7
0 19
50 98
143 30
231 55
342 0
365 100
600 10
19
52
91
10
58
42
100