#include <malloc.h>
#include <math.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

//ABC167D
int main(void) {
  long long n, k, i, cou=0, tmp, len;
  scanf("%lld %lld", &n, &k);
  long long a[n], check[n], loop[2*n+10];
  for(i=0; i<n; i++)
    scanf(" %lld", &a[i]);

  for(i=0; i<n; i++)
    check[i]=-1;
  check[0]=0, tmp=1;
  for(i=1; i<=n; i++){
    //printf("tmp=%d\n", tmp);
    if(check[a[tmp-1]-1]==-1) check[a[tmp-1]-1]=i, tmp=a[tmp-1];
    else{
      len=i-check[a[tmp-1]-1];
      tmp=i+1-len;
      //printf("len=%d-check[%d-1]=%d\n", i, a[tmp-1], len);
      break;
    }
    //printf("check[%lld]=%lld\n",a[tmp-1]-1, check[a[tmp-1]-1]);
  }

  k=(k-tmp)%len;
  tmp=tmp%len;
//printf("tmp=%lld\n",tmp);
  /*printf("k=%d\n",k);
   for(i=0;i<k;i++){
   tmp=a[tmp]-1;
   }*/
  long long now=0;

  for(i=0; i<k+tmp-1; i++){
    now=a[now]-1;
    //printf("now=%lld\n",now);
  }
  printf("%lld", a[now]);

}
