#include <iostream>
#include <vector>
#include <queue>
using namespace std;
const int N=100067;
vector<int> adj[N];
int odl[N];
void bfs(int n){
for(int i=0; i<N; i++)
odl[i]=-1;
odl[n]=0;
queue<int> kol;
kol.push(n);
while(!kol.empty()){
int a=kol.front();
kol.pop();
for(int o: adj[a]){
if(odl[o]==-1){
odl[o]=odl[a]+1;
kol.push(o);}
}
}
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
int n,m,a,b;
cin>>n>>m;
for(int i=0; i<m; i++)
{
cin>>a>>b;
adj[a].push_back(b);
adj[b].push_back(a);}
bfs(1);
for(int i=1; i<n+1; i++)
cout<<odl[i]<<" ";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8cXVldWU+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGludCBOPTEwMDA2NzsKCnZlY3RvcjxpbnQ+IGFkaltOXTsKaW50IG9kbFtOXTsKCgoKdm9pZCBiZnMoaW50IG4pewoJCgkKCWZvcihpbnQgaT0wOyBpPE47IGkrKykKCW9kbFtpXT0tMTsKCW9kbFtuXT0wOwoJCglxdWV1ZTxpbnQ+IGtvbDsKCWtvbC5wdXNoKG4pOwoJd2hpbGUoIWtvbC5lbXB0eSgpKXsKCQlpbnQgYT1rb2wuZnJvbnQoKTsKCQlrb2wucG9wKCk7CgkJZm9yKGludCBvOiBhZGpbYV0pewoJCQlpZihvZGxbb109PS0xKXsKCQkJb2RsW29dPW9kbFthXSsxOwoJCQlrb2wucHVzaChvKTt9CgkJfQoJCQoJCQoJCQoJCQoJCQoJfQoJCgkKfQoKCgppbnQgbWFpbigpIHsKCWlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CgljaW4udGllKDApOwoJCglpbnQgbixtLGEsYjsKCWNpbj4+bj4+bTsKCWZvcihpbnQgaT0wOyBpPG07IGkrKykKCXsKCQljaW4+PmE+PmI7CgkJYWRqW2FdLnB1c2hfYmFjayhiKTsKCQlhZGpbYl0ucHVzaF9iYWNrKGEpO30KCQoJCgliZnMoMSk7CgkKCWZvcihpbnQgaT0xOyBpPG4rMTsgaSsrKQoJY291dDw8b2RsW2ldPDwiICI7CgkKCQoJCglyZXR1cm4gMDsKfQ==