#include<stdio.h>
int a[500005] = {0};
int t[500005] = {0};
int n,m;
int lowbit(int x){
return x&(-x);
}
void add(int x,int k){
for(;x<=n;x+=lowbit(x)) t[x]+=k;
return;
}
int ask(int i){
int ans;
for(;i;i-=lowbit(i)) ans+=t[i];
return ans;
}
int main(){
scanf("%d %d",&n,&m);
for(int i = 1;i <= n;i++){
scanf("%d",&a[i]);
add(i,a[i] - a[i-1]);
}
while(m--){
int c;
scanf("%d",&c);
if(c == 1){
int x,y,k;
scanf("%d %d %d",&x,&y,&k);
add(x,k);
add(y+1,-k);
}
else if(c == 2){
int x;
scanf("%d",&x);
printf("%d\n",ask(x));
}
}
return 0;
}