#include <iostream>
#include<bits/stdc++.h>
using namespace std;
//graph bfs
int main() {
// your code goes here
int n ; int m ;
cin>>n>>m;
vector<vector<int>>adj(n+1);
vector<bool>vis(n+1,false);
int level[n+1];
for(int i = 0 ; i < m ; i++){
int u ; int v ;
cin>>u>>v;
adj[u].push_back(v);
adj[v].push_back(u);
}
int src = 1;
vis[src]=true;
queue<int>q;
q.push(src);
int child[n+1];
while(!q.empty()){
int curr = q.front();
q.pop();
int count = 0 ;
for(auto adjacent : adj[curr]){
if(!vis[adjacent]){
vis[adjacent]=true;
q.push(adjacent);
count++;
}
}
child[curr]=count;
}
for(int i = 1 ; i<=n;i++) cout<<child[i]<<endl;
for(int i = 1 ; i<=n;i++){
if(child[i]==0) cout<<i<<" ";
}
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCi8vZ3JhcGggYmZzCmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJaW50IG4gOyBpbnQgbSA7IAoJY2luPj5uPj5tOwoJdmVjdG9yPHZlY3RvcjxpbnQ+PmFkaihuKzEpOwogICAgdmVjdG9yPGJvb2w+dmlzKG4rMSxmYWxzZSk7CiAgICBpbnQgbGV2ZWxbbisxXTsKCWZvcihpbnQgaSA9IDAgOyBpIDwgbSA7IGkrKyl7CgkJaW50IHUgOyBpbnQgdiA7IAoJCWNpbj4+dT4+djsgCgkJYWRqW3VdLnB1c2hfYmFjayh2KTsKCQlhZGpbdl0ucHVzaF9iYWNrKHUpOwoJfQogCglpbnQgc3JjID0gMTsgCgl2aXNbc3JjXT10cnVlOwoJcXVldWU8aW50PnE7CglxLnB1c2goc3JjKTsKCWludCBjaGlsZFtuKzFdOwoJCgl3aGlsZSghcS5lbXB0eSgpKXsKCQlpbnQgY3VyciA9IHEuZnJvbnQoKTsKCQlxLnBvcCgpOwoJCWludCBjb3VudCA9IDAgOyAKCQlmb3IoYXV0byBhZGphY2VudCA6IGFkaltjdXJyXSl7CgkJCWlmKCF2aXNbYWRqYWNlbnRdKXsKCQkJCXZpc1thZGphY2VudF09dHJ1ZTsKCQkJCXEucHVzaChhZGphY2VudCk7CgkJCQljb3VudCsrOwoJCQl9CgkJfQoJICAgIGNoaWxkW2N1cnJdPWNvdW50OwoJfQoJCmZvcihpbnQgaSA9IDEgOyBpPD1uO2krKykgY291dDw8Y2hpbGRbaV08PGVuZGw7Cgpmb3IoaW50IGkgPSAxIDsgaTw9bjtpKyspewoJaWYoY2hpbGRbaV09PTApIGNvdXQ8PGk8PCIgIjsKfQoKcmV0dXJuIDAgOyAKfQ==