#include <bits/stdc++.h>
using namespace std;
#define int long long
int a[500001];
int n,m;
int Lowbit(int x) {
return x & (-x);
}
int Update(int x,int val) {
for(;x <= n;x += Lowbit(x))
a[x] += val;
}
int Query(int x) {
int ans = 0;
for(;x;x -= Lowbit(x))
ans += a[x];
return ans;
}
signed main() {
cin >> n >> m;
int last = 0,now;
for(int i = 1;i <= n;i++) cin >> now,Update(i,now - last),last = now;
while(m--) {
int choice;
int k;
cin >> choice;
if(choice == 1) {
int l,r;
cin >> l >> r >> k;
Update(l,k);
Update(r + 1,-k);
}
else {
cin >> k;
cout << Query(k) << '\n';
}
}
return 0;
}