There is a system of *n* vessels arranged one above the other as shown in the figure below. Assume that the vessels are numbered from 1 to *n*, in the order from the highest to the lowest, the volume of the *i*-th vessel is *a*<sub class="lower-index">*i*</sub> liters.

Initially, all the vessels are empty. In some vessels water is poured. All the water that overflows from the *i*-th vessel goes to the (*i* + 1)-th one. The liquid that overflows from the *n*-th vessel spills on the floor.

Your task is to simulate pouring water into the vessels. To do this, you will need to handle two types of queries:
 1.  Add *x*<sub class="lower-index">*i*</sub> liters of water to the *p*<sub class="lower-index">*i*</sub>-th vessel; 1.  Print the number of liters of water in the *k*<sub class="lower-index">*i*</sub>-th vessel. 
When you reply to the second request you can assume that all the water poured up to this point, has already overflown between the vessels.
The first line contains integer *n* — the number of vessels (1 ≤ *n* ≤ 2·10<sup class="upper-index">5</sup>). The second line contains *n* integers *a*<sub class="lower-index">1</sub>, *a*<sub class="lower-index">2</sub>, ..., *a*<sub class="lower-index">*n*</sub> — the vessels' capacities (1 ≤ *a*<sub class="lower-index">*i*</sub> ≤ 10<sup class="upper-index">9</sup>). The vessels' capacities do not necessarily increase from the top vessels to the bottom ones (see the second sample). The third line contains integer *m* — the number of queries (1 ≤ *m* ≤ 2·10<sup class="upper-index">5</sup>). Each of the next *m* lines contains the description of one query. The query of the first type is represented as "1 *p*<sub class="lower-index">*i*</sub> *x*<sub class="lower-index">*i*</sub>", the query of the second type is represented as "2 *k*<sub class="lower-index">*i*</sub>" (1 ≤ *p*<sub class="lower-index">*i*</sub> ≤ *n*, 1 ≤ *x*<sub class="lower-index">*i*</sub> ≤ 10<sup class="upper-index">9</sup>, 1 ≤ *k*<sub class="lower-index">*i*</sub> ≤ *n*).
n = int(input())
string = input().split()
vessels = []
transbordaEm = 300000
positions = {}
for i in range(n):
    vessels.append([0,int(string[i])])
    positions[i+1] = i+1
m = int(input())
for q in range(m):
    query = input().split()
    # print(vessels)
    if(query[0] == '2'):
        position = int(query[1]) - 1
        print(vessels[position][0])
    elif(query[0] == '1'):
        # print('na query:', int(query[1]))
        # print('no positions:', positions[int(query[1])])
        position = positions[int(query[1])] - 1
        x = int(query[2])
        for v in range(position, n):
            # print('no for!')
            c = vessels[v][1]
            t = vessels[v][0]
            if(x >= (c-t)): #entrou aqui, vai encher!
                x = x - (c-t)
                vessels[v][0] = c # t = c
                positions[int(query[1])] = v + 2
                if(x == 0):
                    break
            else:
                vessels[v][0] = t + x # t = x
                break
# print(positions)
		    				   	  	 		 			 						