#include <bits/stdc++.h>
using namespace std;
const int MAXn = 5e5 + 9;
int a[MAXn + 9], cf[MAXn + 9], t[MAXn + 9];
int n;
int lowbit(int x) {
return x&(-x);
}
void build() {
for(int i = 1; i <= n; i ++) {
t[i] += cf[i];
int fai = i + lowbit(i);
if(fai <= n) t[fai] += t[i];
}
}
void fadd(int x, int v) {
for(int ix = x; ix <= n; ix += lowbit(ix))
t[ix] += v;
}
int sum(int x) {
int ans = 0;
for(int ix = x; ix >= 1; ix -= lowbit(ix))
ans += t[ix];
return ans;
}
int main() {
int m;
scanf("%d%d", &n, &m);
for(int i = 1; i <= n; i ++) {
scanf("%d", &a[i]);
cf[i] = a[i] - a[i-1];
// fadd(i, cf[i]);
}
build();
int op;
for(int iot = 1; iot <= m; iot ++) {
scanf("%d", &op);
if(op == 1) {
int x, y, v;
scanf("%d%d%d", &x, &y, &v);
fadd(x, v);
fadd(y + 1, -v);
}
else {
int x;
scanf("%d", &x);
printf("%d\n", sum(x));
}
}
return 0;
}