#include #include #include using namespace std; struct dta{ int nm; int nw; }; bool lck[100000]; int main(){ int n,k;cin>>n>>k;k--; vector nya[n]; for(int i = 0; n-1 > i; i++){ int a,b;cin>>a>>b;a--;b--; nya[a].push_back(b); nya[b].push_back(a); } queue A; A.push({0,0}); lck[0] = true; int ans = 0; while(!A.empty()){ dta Z = A.front();A.pop(); for(int i = 0; nya[Z.nm].size() > i; i++){ if(!lck[nya[Z.nm][i]]){ A.push({nya[Z.nm][i],Z.nw+1}); //cout << "!!" << Z.nm << " " << nya[Z.nm][i] << endl; k--; ans++; lck[nya[Z.nm][i]] = true; if(!k){ cout << ans << endl; return 0; } } } } cout << -1 << endl; }