#include <iostream>
using namespace std;
int main ()
{
    int n,m,k,x[100001],y[100001],z[100001],r=1,i=0,j=0,max=0,max1[100001],p=0,min,v;
    bool f=true;
    cin>>n>>m>>k;
    while(m>i)
    {
              cin>>x[i]>>y[i]>>z[i];
              i++;
              }
    i=0;
    while(m>i)
    {
              if(x[i]==r)
              {
                         r=y[i];
                         max=z[i];
                         while(r!=n)
                         {
                                       if(j>=m){j=0;max=0;break;}
                                       if(x[j]==r)
                                       {
                                                  r=y[j];
                                                  if(z[j]>max)max=z[j];
                                                  j=0;
                                                  f=false;
                                                  }
                                       j++;
                                       }
                         }
              if(f==false){max1[p]=max;p++;}
              f=true;
              max=0;
              i++;
              r=1;
              j=0;
              }
    max=0;
    i=0;
    j=0;
    min=max1[0];
    while(k>i)
    {
               min=1000000000;
               while(p>j)
               {
                          if(max1[j]<min){min=max1[j];v=j;}
                          j++;
                          }
               j=0;
               i++;
               max1[v]=1000000000;
               }
    cout<<min<<endl;
    cin>>n;
    return 0;
}
                                                  
                                       
                                       
                                       
                                                 
                        
              
