#include<bits/stdc++.h>
using namespace std;
int graph[1001][1001];
int visit[1001];
int n, e;
void DFS_Stk(int start)
{
//Initial Step
visit[start] = 1;
cout<<start<<" ";
stack<int>S;
S.push(start);
//Repeating Step
while(!S.empty())
{
for(int j = 1; j <= n; j++)
{
int x = S.top();
if(visit[j] == 0 && graph[x][j] != 0)
{
visit[j] = 1;
cout<<j<<" ";
S.push(j);
j = 1;
}
}
S.pop();
}
}
void DFS_Rec(int start)
{
visit[start] = 1;
cout<<start<<" ";
for(int j = 1; j <= n; j++)
{
if(visit[j] == 0 && graph[start][j] != 0)
{
DFS_Rec(j);
}
}
}
int main()
{
cin>>n>>e;
int u, v;
for(int i = 1; i <= e; i++)
{
cin>>u>>v;
graph[u][v] = 1;
graph[v][u] = 1;
}
//DFS_Stk(1);
DFS_Rec(1);
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IGdyYXBoWzEwMDFdWzEwMDFdOwppbnQgdmlzaXRbMTAwMV07CmludCBuLCBlOwoKdm9pZCBERlNfU3RrKGludCBzdGFydCkKewogICAgLy9Jbml0aWFsIFN0ZXAKICAgIHZpc2l0W3N0YXJ0XSA9IDE7CiAgICBjb3V0PDxzdGFydDw8IiAiOwogICAgc3RhY2s8aW50PlM7CiAgICBTLnB1c2goc3RhcnQpOwogICAgLy9SZXBlYXRpbmcgU3RlcAogICAgd2hpbGUoIVMuZW1wdHkoKSkKICAgIHsKICAgICAgICBmb3IoaW50IGogPSAxOyBqIDw9IG47IGorKykKICAgICAgICB7CiAgICAgICAgICAgIGludCB4ID0gUy50b3AoKTsKICAgICAgICAgICAgaWYodmlzaXRbal0gPT0gMCAmJiBncmFwaFt4XVtqXSAhPSAwKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2aXNpdFtqXSA9IDE7CiAgICAgICAgICAgICAgICBjb3V0PDxqPDwiICI7CiAgICAgICAgICAgICAgICBTLnB1c2goaik7CiAgICAgICAgICAgICAgICBqID0gMTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIFMucG9wKCk7CiAgICB9Cn0KCnZvaWQgREZTX1JlYyhpbnQgc3RhcnQpCnsKICAgIHZpc2l0W3N0YXJ0XSA9IDE7CiAgICBjb3V0PDxzdGFydDw8IiAiOwoKICAgIGZvcihpbnQgaiA9IDE7IGogPD0gbjsgaisrKQogICAgewogICAgICAgIGlmKHZpc2l0W2pdID09IDAgJiYgZ3JhcGhbc3RhcnRdW2pdICE9IDApCiAgICAgICAgewogICAgICAgICAgICBERlNfUmVjKGopOwogICAgICAgIH0KICAgIH0KfQoKCgoKaW50IG1haW4oKQp7CiAgICBjaW4+Pm4+PmU7CiAgICBpbnQgdSwgdjsKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gZTsgaSsrKQogICAgewogICAgICAgIGNpbj4+dT4+djsKICAgICAgICBncmFwaFt1XVt2XSA9IDE7CiAgICAgICAgZ3JhcGhbdl1bdV0gPSAxOwogICAgfQogICAgLy9ERlNfU3RrKDEpOwogICAgREZTX1JlYygxKTsKCgoKCgoKfQo=