#include<stdio.h> 

 #include<math.h> 

 #include<stdlib.h> 

 #include<string.h> 

 #include<iostream> 

 #include<algorithm> 

 using namespace std; 

 #define maxn 2500 



 int Map[maxn][maxn]; 

 bool Mark[maxn]; 

 int V,E; 



 void DFS(int x,int V) 

 { 

     int i; 

     printf("%d\n",x); 

     Mark[x]=true; 

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

         if(Map[x][i]&&!Mark[i]) 

             DFS(i,V); 

 } 



 int main() 

 { 

     int x,y; 

     int i; 

     while(scanf("%d%d",&V,&E)!=EOF) 

     { 

         memset(Map,0,sizeof(Map)); 

         memset(Mark,false,sizeof(Mark)); 

         while(E--) 

         { 

             scanf("%d%d",&x,&y); 

             Map[x][y]=Map[y][x]=1; 

         } 

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

             if(!Mark[i]) 

                 DFS(i,V); 

     } 

     return 0; 

 }