/**Familia lui Gigel este foarte numeroasa, avand exact N membri.
Fiecare membru stie cine este stramosul lui direct, mai putin cativa
membri care sunt foarte batrani si nu mai tin minte nici macar cine
a fost stramosul lor direct. Gigel, fiind o fire curioasa a facut
un inventar al familiei sale, in sensul ca a numerotat fiecare membru
cu un numar distinct intre 1 si N si stie de asemenea pentru fiecare
membru, care este stramosul lui direct (daca acesta exista).
Curiozitatea lui este si mai mare, in sensul ca isi pune M intrebari de forma:
"Care este al P-lea stramos al membrului cu numarul Q?".
*/
#include <iostream>
#include <fstream>
using namespace std;
int n,m;
int t[250005];
ifstream in("stramosi.in");
ofstream out("stramosi.out");
int x,y;
void citire()
{
in>>n>>m;
for(int i=1;i<=n;i++)
{
in>>x;
t[i]=x;
}
}
void stramosi()
{
for(int i=1;i<=m;i++)
{
in>>x>>y;
while(y)
{
x=t[x];
y--;
}
out<<x<<"\n";
}
}
int main()
{
citire();
stramosi();
}