#include<bits/stdc++.h>
using namespace std;
int n,m,C[100001];
int lowbit(int n){
return n&-n;
}
void update(int i,long long val){
while(i<=n){
C[i]+val;
i+=lowbit(i);
}
}
long long sum(int i){
long long ret=0;
while(i>0){
ret+=C[i];
i-=lowbit(i);
}
return ret;
}
int main(){
scanf("%d%d",&n,&m);
long long b=0,a;
for(int i=1;i<=n;i++){
scanf("%lld",&a);
update(i,a-b);
b=a;
}
while(m--){
int p;
scanf("%d",&p);
if(p==1){
int x,y;
long long k;
scanf("%d%d%lld",&x,&y,&k);
update(x,k);
update(y+1,-k);
}
else{
int x;
scanf("%d",&x);
printf("%lld\n",sum(x));
}
}
return 0;
}
哪错了有没有dalao帮帮忙