#include<bits/stdc++.h>
using namespace std;
const int N=5e5+10;
typedef long long int ll;
ll n,m,tr[2*N],a[N];
ll lowbit(ll x)
{
return x & -x;
}
ll add(ll x,ll v)
{
for(int i=x;i&&i<=n;i+=lowbit(i))
tr[i]+=v;
}
ll query(int x)
{
ll sum=a[x];
for(int i=x;i;i-=lowbit(i))
sum+=tr[i];
return sum;
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
cin>>a[i];
while(m--)
{
ll s,a,b,d;
cin>>s;
if(s==2)
{
cin>>a;
cout<<query(a)<<'\n';
}
else
{
cin>>a>>b>>d;
add(a,d);
add(b+1,-d);
}
}
}