//pokoki
#include<iostream>
#include<cmath>
#include<algorithm>
#include<vector>
#include<map>
#define lli long long
using namespace std;
vector<int>a[100005];
map<int,int>q;
bool used[100005];
int n,m,k;
void DFS(int i,int mx)
{
    int mx1,r;
    if(i==n)
    {
        q[mx]++;
        return;
    }
    used[i]=1;
    r=a[i].size();
    for(int j=0;j<r;j+=2)
    {
        if(!used[a[i][j]])
        {
            if(a[i][j+1]>mx){mx1=mx;mx=a[i][j+1];}
            DFS(a[i][j],mx);
            used[a[i][j]]=0;
            if(mx1!=mx)mx=mx1;
        }
    }
}
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    int Help,Help1,Help2;
    cin>>n>>m>>k;
    for(int i=0;i<m;i++)
    {
        cin>>Help>>Help1>>Help2;
        a[Help].push_back(Help1);
        a[Help].push_back(Help2);
    }
    DFS(1,0);
    int sm=0;
    map<int,int>::iterator it;
    for(it=q.begin();it!=q.end();it++)
    {
        sm=sm+(*it).second;
        if(sm>=k){cout<<(*it).first<<"\n";break;}
    }
    return 0;
}
/*
5 6 2
1 2 2
1 3 3
2 5 3
3 5 2
1 4 1
4 5 4
*/
