///circular
#include <bits/stdc++.h>
#define MOD 666013
using namespace std;
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
long long i,j,n,q,x,y,k,cn;
int st[250010][20];
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
fin>>n>>q;
for(i=1; i<=n; i++)
fin>>st[i][0];
for(i=1; (1<<i)<=n; i++)
for(j=1; j<=n; j++)
st[j][i]=st[st[j][i-1]][i-1];
for(k=1; k<=q; k++)
{
fin>>x>>y;
cn=0;
while((1<<cn)<=y)
cn++;
for(; cn>=0 && y>0; cn--)
{
if((1<<cn)<=y)
{
x=st[x][cn];
y-=(1<<cn);
}
}
fout<<x<<'\n';
}
return 0;
}