#include<bits/stdc++.h>
#define FORU(i, a, b) for(int i = (a), _b = (b); i <= _b; i++)
#define FORD(i, a, b) for(int i = (a), _b = (b); i >= _b; i--)
#define MASK(x) (1LL << (x))
#define BIT(x, i) (((x) >> (i)) & 1)
#define ALLONE(x) (MASK(x) - 1)
#define ALL(v) (v).size()
#define SZ(v) (int)(v).size()
#define ll long long
#define fi first
#define se second
#define TASK "COUNTRY"
#define NMAX 200005
#define INF 1000000007
using namespace std;
int N, K, used[NMAX];
pair<int, int> dp[NMAX];
vector<int> adj[NMAX];
void dfs(int u, int p, int LIM) {
used[u] = false;
vector<int> chd;
for(int v : adj[u]) if(v != p) {
dfs(v, u, LIM);
chd.push_back(v);
}
if(chd.empty()) {
dp[u] = make_pair(0, 0);
return;
}
int need = 0, base = INF;
for(int v : chd)
if(dp[v].fi == 0) need = max(need, dp[v].se + 1);
else base = min(base, dp[v].se + 1);
if(need + base <= LIM) dp[u] = make_pair(1, base);
else {
dp[u] = make_pair(0, need);
if(need == LIM) {
used[u] = true;
dp[u] = make_pair(1, 0);
}
}
}
bool chk(int LIM) {
dfs(1, 0, LIM);
if(dp[1].fi == 0) used[1] = true;
int cnt = 0;
FORU(i, 1, N) cnt += used[i];
return cnt <= K;
}
int main(void) {
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
if(fopen(TASK".inp", "r")) {
freopen(TASK".inp", "r", stdin);
freopen(TASK".out", "w", stdout);
}
cin >> N >> K;
FORU(i, 1, N - 1) {
int u, v; cin >> u >> v;
adj[u].push_back(v);
adj[v].push_back(u);
}
int lo = 1, hi = N - 1, res;
while(lo <= hi) {
int mid = (lo + hi) / 2;
if(chk(mid)) {
res = mid;
hi = mid - 1;
}
else lo = mid + 1;
}
cout << res;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBGT1JVKGksIGEsIGIpIGZvcihpbnQgaSA9IChhKSwgX2IgPSAoYik7IGkgPD0gX2I7IGkrKykKI2RlZmluZSBGT1JEKGksIGEsIGIpIGZvcihpbnQgaSA9IChhKSwgX2IgPSAoYik7IGkgPj0gX2I7IGktLSkKI2RlZmluZSBNQVNLKHgpICgxTEwgPDwgKHgpKQojZGVmaW5lIEJJVCh4LCBpKSAoKCh4KSA+PiAoaSkpICYgMSkKI2RlZmluZSBBTExPTkUoeCkgKE1BU0soeCkgLSAxKQojZGVmaW5lIEFMTCh2KSAodikuc2l6ZSgpCiNkZWZpbmUgU1oodikgKGludCkodikuc2l6ZSgpCiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBUQVNLICJDT1VOVFJZIgojZGVmaW5lIE5NQVggMjAwMDA1CiNkZWZpbmUgSU5GIDEwMDAwMDAwMDcKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBOLCBLLCB1c2VkW05NQVhdOwpwYWlyPGludCwgaW50PiBkcFtOTUFYXTsKdmVjdG9yPGludD4gYWRqW05NQVhdOwoKdm9pZCBkZnMoaW50IHUsIGludCBwLCBpbnQgTElNKSB7CiAgICAgICAgdXNlZFt1XSA9IGZhbHNlOwoKICAgICAgICB2ZWN0b3I8aW50PiBjaGQ7CiAgICAgICAgZm9yKGludCB2IDogYWRqW3VdKSBpZih2ICE9IHApIHsKICAgICAgICAgICAgICAgIGRmcyh2LCB1LCBMSU0pOwogICAgICAgICAgICAgICAgY2hkLnB1c2hfYmFjayh2KTsKICAgICAgICB9CgogICAgICAgIGlmKGNoZC5lbXB0eSgpKSB7CiAgICAgICAgICAgICAgICBkcFt1XSA9IG1ha2VfcGFpcigwLCAwKTsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIGludCBuZWVkID0gMCwgYmFzZSA9IElORjsKICAgICAgICBmb3IoaW50IHYgOiBjaGQpCiAgICAgICAgICAgICAgICBpZihkcFt2XS5maSA9PSAwKSBuZWVkID0gbWF4KG5lZWQsIGRwW3ZdLnNlICsgMSk7CiAgICAgICAgICAgICAgICBlbHNlIGJhc2UgPSBtaW4oYmFzZSwgZHBbdl0uc2UgKyAxKTsKCiAgICAgICAgaWYobmVlZCArIGJhc2UgPD0gTElNKSBkcFt1XSA9IG1ha2VfcGFpcigxLCBiYXNlKTsKICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIGRwW3VdID0gbWFrZV9wYWlyKDAsIG5lZWQpOwogICAgICAgICAgICAgICAgaWYobmVlZCA9PSBMSU0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgdXNlZFt1XSA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgIGRwW3VdID0gbWFrZV9wYWlyKDEsIDApOwogICAgICAgICAgICAgICAgfQogICAgICAgIH0KfQoKYm9vbCBjaGsoaW50IExJTSkgewogICAgICAgIGRmcygxLCAwLCBMSU0pOwoKICAgICAgICBpZihkcFsxXS5maSA9PSAwKSB1c2VkWzFdID0gdHJ1ZTsKICAgICAgICBpbnQgY250ID0gMDsKICAgICAgICBGT1JVKGksIDEsIE4pIGNudCArPSB1c2VkW2ldOwoKICAgICAgICByZXR1cm4gY250IDw9IEs7Cn0KCmludCBtYWluKHZvaWQpIHsKICAgICAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKICAgICAgICBpZihmb3BlbihUQVNLIi5pbnAiLCAiciIpKSB7CiAgICAgICAgICAgICAgICBmcmVvcGVuKFRBU0siLmlucCIsICJyIiwgc3RkaW4pOwogICAgICAgICAgICAgICAgZnJlb3BlbihUQVNLIi5vdXQiLCAidyIsIHN0ZG91dCk7CiAgICAgICAgfQoKICAgICAgICBjaW4gPj4gTiA+PiBLOwogICAgICAgIEZPUlUoaSwgMSwgTiAtIDEpIHsKICAgICAgICAgICAgICAgIGludCB1LCB2OyBjaW4gPj4gdSA+PiB2OwogICAgICAgICAgICAgICAgYWRqW3VdLnB1c2hfYmFjayh2KTsKICAgICAgICAgICAgICAgIGFkalt2XS5wdXNoX2JhY2sodSk7CiAgICAgICAgfQoKICAgICAgICBpbnQgbG8gPSAxLCBoaSA9IE4gLSAxLCByZXM7CiAgICAgICAgd2hpbGUobG8gPD0gaGkpIHsKICAgICAgICAgICAgICAgIGludCBtaWQgPSAobG8gKyBoaSkgLyAyOwogICAgICAgICAgICAgICAgaWYoY2hrKG1pZCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gbWlkOwogICAgICAgICAgICAgICAgICAgICAgICBoaSA9IG1pZCAtIDE7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIGxvID0gbWlkICsgMTsKICAgICAgICB9CgogICAgICAgIGNvdXQgPDwgcmVzOwp9Cg==