#include <cstdio>
#include <vector>
using namespace std;
const int MAX = 100;
vector <int> myGraph[MAX];
int n,m;
bool visited[MAX];
void DFS(int x){
visited[x]=true;
printf("%d ",x); //방문한 순서대로 출력
for(int i=0;i<myGraph[x].size();i++){
int y = myGraph[x][i];
if(visited[y] == false){
DFS(y);
}
}
}
int main(){
scanf("%d %d",&n,&m);
for(int i=0; i<m; i++){
int a,b;
scanf("%d %d", &a, &b);
myGraph[a].push_back(b);
myGraph[b].push_back(a);
}
DFS(1); // 1부터 시작해서 dfs한 결과를 출력
printf("\n");
return 0;
}