#include <bits/stdc++.h>
using namespace std;
const int N=2e5;
int a[N];
int step[N]={0};
int st[N];
int ed[N];
int to[N];
int pos[N];
void update(int b)
{
int i,j;
for(i=st[b];i<=ed[b];i++)
{
step[i]=0;
for(j=i;j<=ed[b];)
{
j+=a[j];
step[i]++;
}
to[i]=j;
}
}
int main()
{
int i,n,d,c,m,b;
int cnt;
scanf("%d",&n);
int blocks=sqrt(n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=1;i<=blocks;i++)
{
st[i]=(i-1)*blocks;
ed[i]=i*blocks-1;
}
ed[blocks]=n-1;
for(i=0;i<n;i++)
{
pos[i]=i/blocks+1;
}
for(i=1;i<=blocks;i++)
{
update(i);
}
scanf("%d",&m);
for(i=0;i<m;i++)
{
scanf("%d",&b);
if(b==1)
{
cnt=0;
scanf("%d",&c);
for(;c<n;)
{
cnt+=step[c];
c=to[c];
}
printf("%d\n",cnt);
}
else
{
scanf("%d %d",&c,&d);
a[c]=d;
update(pos[c]);
}
}
}