#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define popcount __builtin_popcount using namespace std; typedef long long int ll; typedef pair P; int n; vector g[200020]; int s[200020]; bool used[200020]; int cnt; int k; queue que; void dfs(int x){ used[x]=1; if(k<2){ return; } for(auto y:g[x]){ if(used[y]) continue; k--; cnt++; if(k<2){ return; } que.push(y); } while(!que.empty()){ int p = que.front(); que.pop(); dfs(p); } } int main() { cnt=0; cin>>n>>k; for(int i=0; i>a>>b; a--; b--; g[a].push_back(b); g[b].push_back(a); } dfs(0); if(k>=2){ printf("-1"); } else{ printf("%d",cnt); } return 0; }