#include"bits/stdc++.h" using namespace std; #define REP(k,m,n) for(int (k)=(m);(k)<(n);(k)++) #define rep(i,n) REP((i),0,(n)) using ll = long long; int main() { ll N, K; cin >> N >> K; if (N < K) { cout << -1 << endl; return 0; } vector> edges(N); rep(i, N - 1) { int a, b; cin >> a >> b; a--; b--; edges[a].push_back(b); edges[b].push_back(a); } vector d(N, 1 << 20); queue q; d[0] = 0; q.push(0); while (!q.empty()) { ll now = q.front(); q.pop(); for (int next : edges[now])if (d[now] < d[next]) { d[next] = d[now] + 1; q.push(next); } } sort(d.begin(), d.end()); cout << accumulate(d.begin(), d.begin() + K, 0ll) << endl; return 0; }