Link to this code: https://cses.fi/paste/6d696e6936a1432467c6c5/
//endl
//  ios_base::sync_with_stdio(false);
//  cin.tie(nullptr);
//  cout.tie(nullptr);
//global array

#include<iostream>
using namespace std;
int table[200001][30];
  int main(){
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  cout.tie(nullptr);
  int n,q,x,k;
  cin>>n>>q;
  for(int i=1;i<=n;i++){
    cin>>table[i][0];
  }
  for(int j=1;j<30;j++){
  for(int i=1;i<=n;i++){ 
   table[i][j]=table[table[i][j-1]][j-1];
   }
  }
  while(q--){
    cin>>x>>k;
    for(n=0;n<30;n++){
      if(k&(1<<n)){
        x=table[x][n];
      }
    }
    cout<<x<<"\n";
  }
  return 0;
}