#include<bits/stdc++.h>
using namespace std;
const int A=1e5+10;
int n,m,cnt,head[A],nex[A],to[A];
void add(int x,int y){
nex[++cnt]=head[x];
head[x]=cnt;
to[cnt]=y;
}
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
int x,y;
cin>>x>>y;
add(x,y);
add(y,x);
}
for(int i=1;i<=n;i++){
int ans=-1;
for(int j=head[1];j!=0;j=nex[j]){
int u=to[j];
ans=max(ans,u);
}
cout<<ans<<" ";
}
return 0;
}