#include <iostream>
#include <cstring>
using namespace std;
#define ll long long
#define N 1000010
ll d[N];
ll a[N];
ll n,m;
ll op,x,y;
ll t[N];
void print(ll *a,ll n)
{
cout<<"\n\n";
for(int i = 1;i <= n;i++) cout<<a[i]<<" ";
cout<<"\n\n";
}
int main()
{
cin >> n >> m;
for(int i = 1;i <= n;i++) cin >> a[i];
// for(int i = 1;i <= n;i++) d[i] = a[i]-a[i-1];
// print(d,n);
while(m--)
{
cin >> op;
if(op == 1)
{
cin >> x >> y;
// d[x]+=y;
for(int i = 1;i*x <= n;i++) a[i*x]+=y;
// print(a,n);
}
else if(op == 2)
{
cin >> x;
cout<<a[x]<<endl;
// for(int i = 1;i <= x;i++) t[i] = d[i]+t[i-1];
// cout<<t[x]<<endl;
// print(t,x+1);
// memset(t,0,sizeof t);
}
}
return 0;
}