D - Teleporter ~ダブリングで再AC~

int main(){
    // input
    ll N,K;
    cin>>N>>K;

    VV T(60, VI(N)); // doubling table
    rep(i,N){
      cin>>T[0][i];
      T[0][i]--;
    }
    FOR(i,1,60){
      rep(j,N){
        ll a = T[i-1][j];
        T[i][j] = T[i-1][a];
      }
    }
    auto bi = bitset<60>(K);
    ll now=0;
    rep(i,60){
      if(bi[i]==1){
        now = T[i][now];
      }
    }
    p(now+1);

    return 0;
}