#include<iostream>
using namespace std;
const int N=2e5+10;
int a[N],n,vis[N],t;
long long k;
int dfs(int v,int p){
	if(vis[v]){
		t=v;
		return vis[p]-vis[v]+1;
	}
	vis[v]=vis[p]+1;
	return dfs(a[v],v);
}
int main(){
	cin>>n>>k;
	for(int i=1;i<=n;i++) cin>>a[i];
	int f=dfs(1,0);
	if(k<vis[t]-1){
		int s=1;
		for(int i=0;i<k;i++) s=a[s];
		cout<<s;
		return 0;
	}
	k-=vis[t]-1;
	k%=f;
	int s=t;
	for(int i=0;i<k;i++) s=a[s];
	cout<<s<<"\n";	
	return 0;
}
