#include <bits/stdc++.h>
using namespace std;
#define fastio() ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
#define pb push_back
#define mp make_pair
#define el '\n'
#define int long long
#define fi first
#define se second
#define sz(x) ((int)(x).size())
#define file(name) if (fopen (name".inp", "r")) { freopen (name".inp", "r", stdin); freopen (name".out", "w", stdout); }
using ll = long long;
using ull = unsigned long long;
using ld = long double;
using pii = pair<int, int>;
using vi = vector<int>;
using vll = vector<ll>;
using vpii = vector<pii>;
const int MOD = 1e9 + 7;
const int INF = 1e9;
const int MAXN = 2e6+7;
const int N = 3;
int n,q;
int a[MAXN];
int st[4*MAXN];
int lazy[MAXN];
void down(ll id,ll l,ll r){
ll val = lazy[id];
st[id * 2] += val;
lazy[id * 2] += val;
st[id * 2 + 1] += val;
lazy[id * 2 + 1] += val;
lazy[id] = 0;
}
void update(ll id,ll l,ll r,ll u,ll v,ll val){
if (l > v || r < u) return;
if (u <= l && r <= v){
st[id] += val ;
lazy[id] += val;
return;
}
ll mid = l + r >> 1;
if (lazy[id]) down(id, l, r);
update(id * 2, l, mid, u, v, val);
update(id * 2 + 1, mid + 1, r, u, v, val);
st[id] = st[id * 2] + st[id * 2 + 1];
}
ll get(ll id,ll l,ll r,ll u,ll v){
if (l > v || r < u) return 0;
if (u <= l && r <= v) return st[id];
if (lazy[id]) down(id,l,r);
ll mid = l + r >> 1;
return get(id * 2, l, mid, u, v) + get(id * 2 + 1, mid + 1, r, u, v);
}
void solve(){
cin >> n ;
cin >> q;
for(int i=1;i<=n;i++) {
cin >> a[i];
update(1,1,n,i,i,a[i]);
}
while(q--){
int o;cin >> o;
if(o==1){
int l,r,v;cin >> l >> r >> v;
update(1,1,n,l,r,v);
}
else{
int k;cin >> k;
cout << get(1,1,n,k,k) << el;
}
}
}
main() {
fastio();
int t = 1;
// cin >> t;
while (t--) solve();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIGZhc3RpbygpICAgICAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKI2RlZmluZSBhbGwoeCkgICAgICAgICAgKHgpLmJlZ2luKCksICh4KS5lbmQoKQojZGVmaW5lIHJhbGwoeCkgICAgICAgICAoeCkucmJlZ2luKCksICh4KS5yZW5kKCkKI2RlZmluZSBwYiAgICAgICAgICAgICAgcHVzaF9iYWNrCiNkZWZpbmUgbXAgICAgICAgICAgICAgIG1ha2VfcGFpcgojZGVmaW5lIGVsICAgICAgICAgICAgICAnXG4nCiNkZWZpbmUgaW50ICAgICAgICAgICAgIGxvbmcgbG9uZwojZGVmaW5lIGZpICAgICAgICAgICAgICBmaXJzdAojZGVmaW5lIHNlICAgICAgICAgICAgICBzZWNvbmQKI2RlZmluZSBzeih4KSAgICAgICAgICAgKChpbnQpKHgpLnNpemUoKSkKI2RlZmluZSBmaWxlKG5hbWUpICAgICAgaWYgKGZvcGVuIChuYW1lIi5pbnAiLCAiciIpKSB7IGZyZW9wZW4gKG5hbWUiLmlucCIsICJyIiwgc3RkaW4pOyBmcmVvcGVuIChuYW1lIi5vdXQiLCAidyIsIHN0ZG91dCk7IH0KCnVzaW5nIGxsICAgID0gbG9uZyBsb25nOwp1c2luZyB1bGwgICA9IHVuc2lnbmVkIGxvbmcgbG9uZzsKdXNpbmcgbGQgICAgPSBsb25nIGRvdWJsZTsKdXNpbmcgcGlpICAgPSBwYWlyPGludCwgaW50PjsKdXNpbmcgdmkgICAgPSB2ZWN0b3I8aW50PjsKdXNpbmcgdmxsICAgPSB2ZWN0b3I8bGw+Owp1c2luZyB2cGlpICA9IHZlY3RvcjxwaWk+OwoKY29uc3QgaW50IE1PRCAgID0gMWU5ICsgNzsKY29uc3QgaW50IElORiAgID0gMWU5Owpjb25zdCBpbnQgTUFYTiAgPSAyZTYrNzsKY29uc3QgaW50IE4gICAgID0gMzsKCmludCBuLHE7CmludCBhW01BWE5dOwppbnQgc3RbNCpNQVhOXTsKaW50IGxhenlbTUFYTl07Cgp2b2lkIGRvd24obGwgaWQsbGwgbCxsbCByKXsKICAgIGxsIHZhbCA9IGxhenlbaWRdOwogICAgc3RbaWQgKiAyXSArPSB2YWw7CiAgICBsYXp5W2lkICogMl0gKz0gdmFsOwogICAgc3RbaWQgKiAyICsgMV0gKz0gdmFsOwogICAgbGF6eVtpZCAqIDIgKyAxXSArPSB2YWw7CiAgICBsYXp5W2lkXSA9IDA7Cn0Kdm9pZCB1cGRhdGUobGwgaWQsbGwgbCxsbCByLGxsIHUsbGwgdixsbCB2YWwpewogICAgaWYgKGwgPiB2IHx8IHIgPCB1KSByZXR1cm47CiAgICBpZiAodSA8PSBsICYmIHIgPD0gdil7CiAgICAgICAgc3RbaWRdICs9IHZhbCA7CiAgICAgICAgbGF6eVtpZF0gKz0gdmFsOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGxsIG1pZCA9IGwgKyByID4+IDE7CiAgICBpZiAobGF6eVtpZF0pIGRvd24oaWQsIGwsIHIpOwoKICAgIHVwZGF0ZShpZCAqIDIsIGwsIG1pZCwgdSwgdiwgdmFsKTsKICAgIHVwZGF0ZShpZCAqIDIgKyAxLCBtaWQgKyAxLCByLCB1LCB2LCB2YWwpOwogICAgc3RbaWRdID0gc3RbaWQgKiAyXSArIHN0W2lkICogMiArIDFdOwp9CmxsIGdldChsbCBpZCxsbCBsLGxsIHIsbGwgdSxsbCB2KXsKICAgIGlmIChsID4gdiB8fCByIDwgdSkgcmV0dXJuIDA7CiAgICBpZiAodSA8PSBsICYmIHIgPD0gdikgcmV0dXJuIHN0W2lkXTsKICAgIGlmIChsYXp5W2lkXSkgZG93bihpZCxsLHIpOwogICAgbGwgbWlkID0gbCArIHIgPj4gMTsKICAgIHJldHVybiBnZXQoaWQgKiAyLCBsLCBtaWQsIHUsIHYpICsgZ2V0KGlkICogMiArIDEsIG1pZCArIDEsIHIsIHUsIHYpOwp9CnZvaWQgc29sdmUoKXsKICBjaW4gPj4gbiA7CiAgY2luID4+IHE7CiAgZm9yKGludCBpPTE7aTw9bjtpKyspIHsKICAgIGNpbiA+PiBhW2ldOwogICAgdXBkYXRlKDEsMSxuLGksaSxhW2ldKTsKICB9CiAgd2hpbGUocS0tKXsKICAgIGludCBvO2NpbiA+PiBvOwogICAgaWYobz09MSl7CiAgICAgIGludCBsLHIsdjtjaW4gPj4gbCA+PiByID4+IHY7CiAgICAgIHVwZGF0ZSgxLDEsbixsLHIsdik7CiAgICB9CiAgICBlbHNlewogICAgICBpbnQgaztjaW4gPj4gazsKICAgICAgY291dCA8PCBnZXQoMSwxLG4sayxrKSA8PCBlbDsKICAgIH0KICB9Cn0KCm1haW4oKSB7CiAgICBmYXN0aW8oKTsKICAgIGludCB0ID0gMTsKICAgIC8vIGNpbiA+PiB0OwogICAgd2hpbGUgKHQtLSkgc29sdmUoKTsKICAgIHJldHVybiAwOwp9Cg==