#include<stdio.h> 

 #include<queue> 

 #include<iostream> 

 #include<string.h> 

 using namespace std; 

 int a[100][100]; 

 bool b[100]; 

 void BFS(int x,int n) 

 { 

int i,j,k; 

queue<int>p; 
  //1 

p.push(x); 
  //2 

printf("%d 
  ",x);//3 

b[x]=true; 
  //4 

while(p.size()) 

{ 
  

k=p.front(); //1 

p.pop(); 
  //2 

for(i=1;i<=n;i++) 

if(a[k][i]&&!b[i]) 

{ 

b[i]=true;       //1 

p.push(i);       //2 

printf("%d 
  ",i);//3 

} 
  

} 

 } 

 int main() 

 { 

int n,m; 

int i,j,k; 

while(scanf("%d%d",&n,&m)!=EOF) 

{ 

while(m--) 

{ 

scanf("%d%d",&i,&j); 

a[i][j]=a[j][i]=1; 
  

} 

for(i=1;i<=n;i++) 

if(!b[i]) 

BFS(i,n); 

printf("\n"); 

} 

return 0; 

 }