#include<bits/stdc++.h>
using namespace std;
const int N=1e5+99;
set<pair<int,int> >d[N],s;
int main(){
int n,k,x,y,z;
scanf("%d%d",&n,&k);
for(int i=1;i<n;++i) {
scanf("%d%d%d",&x,&y,&z);
d[x].insert(make_pair(y,z));
d[y].insert(make_pair(x,z));
}
for(int i=1;i<=n;++i) if(d[i].size()==1)
s.insert(make_pair((*d[i].begin()).second,i));
int ans=0;
while(n>k||s.size()>2){
ans=(*s.begin()).first;
int now=(*s.begin()).second;
s.erase(s.begin());
int p=(*d[now].begin()).first;
d[p].erase(d[p].lower_bound(make_pair(now,0)));
--n;
if(d[p].size()==1) s.insert(make_pair(ans+(*d[p].begin()).second,p));
}
printf("%d\n",ans);
}