#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;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgZmFzdElPIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7IGNpbi50aWUoMCk7CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgYWxsKHgpIHguYmVnaW4oKSwgeC5lbmQoKTsKCmNvbnN0IGxsIExMSU5GID0gMWUxODsKY29uc3QgaW50IElORiA9IDFlOTsKY29uc3QgaW50IE4gPSAxZTYrNjsKCmludCBuLCBxOwpsbCBmZW5bTl07CgoKdm9pZCBmZW5VcGRhdGUoaW50IHBvcywgaW50IHZhbCl7CiAgICBmb3IgKGludCBpPXBvczsgaTw9bjsgaSArPSBpJi1pKXsKICAgICAgICBmZW5baV0gKz0gdmFsOwogICAgfQp9CgpsbCBmZW5HZXQoaW50IHBvcyl7CiAgICBsbCBhbnMgPSAwOwogICAgZm9yIChpbnQgaT1wb3M7IGk+MDsgaSAtPSBpJi1pKXsKICAgICAgICBhbnMgKz0gZmVuW2ldOwogICAgfQogICAgcmV0dXJuIGFuczsKfQoKdm9pZCBmZW5VcGRhdGVSYW5nZShpbnQgbCwgaW50IHIsIGludCB2YWwpewogICAgZmVuVXBkYXRlKGwsIHZhbCk7CiAgICBmZW5VcGRhdGUocisxLCAtdmFsKTsKfQoKaW50IG1haW4oKXsKICAgIGZhc3RJTzsKCiAgICBjaW4gPj4gbjsKICAgIGZvciAoaW50IGk9MTsgaTw9bjsgaSsrKXsKICAgICAgICBpbnQgeDsKICAgICAgICBjaW4gPj4geDsKICAgICAgICBmZW5VcGRhdGVSYW5nZShpLCBpLCB4KTsKICAgIH0KICAgIGNpbiA+PiBxOwogICAgd2hpbGUgKHEtLSl7CiAgICAgICAgaW50IHR5cGU7CiAgICAgICAgY2luID4+IHR5cGU7CiAgICAgICAgaWYgKHR5cGU9PTEpewogICAgICAgICAgICBpbnQgbCwgciwgdmFsOwogICAgICAgICAgICBjaW4gPj4gbCA+PiByID4+IHZhbDsKICAgICAgICAgICAgZmVuVXBkYXRlUmFuZ2UobCwgciwgdmFsKTsKICAgICAgICB9CiAgICAgICAgZWxzZXsKICAgICAgICAgICAgaW50IHBvczsKICAgICAgICAgICAgY2luID4+IHBvczsKICAgICAgICAgICAgY291dCA8PCBmZW5HZXQocG9zKSA8PCAnXG4nOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiAwOwp9