#include <bits/stdc++.h>
using namespace std;
#define fastIO ios_base::sync_with_stdio(0); cin.tie(0);
#define ll long long
#define pb push_back
#define all(x) x.begin(), x.end();

const ll LLINF = 1e18;
const int INF = 1e9;
const int N = 1e6+6;

int n, q;
ll fen[N];


void fenUpdate(int pos, int val){
    for (int i=pos; i<=n; i += i&-i){
        fen[i] += val;
    }
}

ll fenGet(int pos){
    ll ans = 0;
    for (int i=pos; i>0; i -= i&-i){
        ans += fen[i];
    }
    return ans;
}

void fenUpdateRange(int l, int r, int val){
    fenUpdate(l, val);
    fenUpdate(r+1, -val);
}

int main(){
    fastIO;

    cin >> n;
    for (int i=1; i<=n; i++){
        int x;
        cin >> x;
        fenUpdateRange(i, i, x);
    }
    cin >> q;
    while (q--){
        int type;
        cin >> type;
        if (type==1){
            int l, r, val;
            cin >> l >> r >> val;
            fenUpdateRange(l, r, val);
        }
        else{
            int pos;
            cin >> pos;
            cout << fenGet(pos) << '\n';
        }
    }
    return 0;
}