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*).
total=input()
ve=input()
ve=ve.split()
wat=[]
for i in range(int(total)):
    ve[i]=int(ve[i])
    wat=wat+[0]
num=input()
tmp2={}
ans=[]
for i in range(int(total)):
    tmp2[i]=0
#print(tmp2)
p=0
down=0
for n in range(int(num)):
    tmp=input()
    if(tmp[0]=='2'):
        fl=int(tmp.split()[1])
        j=p
        while j<fl:
            #print('j',j)
            down=down+tmp2[j]
            #print('down',down)
            if down>=ve[j]:
                #print("do")
                down=tmp2[j]-ve[j]
                #print('down',down)
                #print('tmp2[j]',tmp2[j])
                tmp2[j]=ve[j]
                p=p+1
                #print('down',down)

            else:
                #print("el")
                tmp2[j]=down
            j=j+1
        #print('!',tmp2[j],'!')
        ans=ans+[tmp2[j-1]]
        #down=0
        #print('2tmp2',tmp2)
        #print()

    else:
        tmp=tmp.split()
        tmp[1]=int(tmp[1])
        #print(tmp)
        if(tmp[1]<p+1):
           tmp[1]=p+1
        #print(int(tmp[2]))
        tmp2[tmp[1]-1]=(int(tmp2[tmp[1]-1])+int(tmp[2]))
        #print("1tmp2",tmp2)
for i in ans:
    print(i)
 		 	  		     	  	 										