#include <bits/stdc++.h>
int bin[200020];
int s[200020];
int findx(int x) { return bin[x] == x ? x : bin[x] = findx(bin[x]); }
void merge(int x, int y) {
  int fx, fy;
  fx = findx(x);
  fy = findx(y);
  bin[fx] = fy;
}
int main() {
  int n, m, i, f, num, v, tem, t;
  int a[200020];
  while (~scanf("%d", &n)) {
    for (i = 1; i <= n; i++) {
      scanf("%d", &a[i]);
      bin[i] = i;
    }
    bin[n + 1] = n + 1;
    scanf("%d", &t);
    for (i = 1; i <= t; i++) {
      scanf("%d", &f);
      if (f == 1) {
        scanf("%d %d", &num, &v);
        while (v > 0) {
          tem = findx(num);
          if (tem == n + 1) break;
          if (s[tem] + v <= a[tem]) {
            s[tem] += v;
            v = 0;
          } else if (v != 0 && s[tem] + v > a[tem]) {
            v -= (a[tem] - s[tem]);
            s[tem] = a[tem];
            merge(tem, tem + 1);
          }
          num = tem;
        }
      }
      if (f == 2) {
        int gg;
        scanf("%d", &gg);
        printf("%d\n", s[gg]);
      }
    }
  }
  return 0;
}
