#include <stdio.h>

long N;
long long K;
int A[500000];
int ago[500000];
int flag[500000];

int main()
{
	//変数宣言
	long long i,j;
	int next=0;
	
	long long nokori;
	
	//初期入力
	scanf("%d %lld",&N,&K);
	for(i=0;i<N;i++){
		scanf("%d",&A[i]);
		ago[i]=0;
		flag[i]=0;
	}
	
	
	
	
	for(i=0;i<K;i++)
	{
		if(flag[next] == 1)
		{
			break;
		}
	
		if(flag[next]==0)
		{
			flag[next]=1;
		}
		for(j=0;j<N;j++)
		{
			if(flag[next]==1)
			{
				ago[next]++;
			}
		}
		
		next = A[next] - 1;
	}
	
	nokori=K-i;
	nokori = nokori % ago[next];
	
	for(i=0;i<nokori;i++)
	{
		next = A[next] - 1;
	}
	
	
	//最終出力
	printf("%d",next+1);
	
	return 0;
}