#include <bits/stdc++.h>
using namespace std;
int graph[1001][1001];
int visit[1001]; //globally declaring an array means array value is 1;
int n,e;
void DFS(int start)
{
//initial step
visit[start]=1;
cout<<start<<" ";
stack<int>stk;
stk.push(start);
//repeating step
while(!stk.empty())
{
for(int j=1;j<=n;j++)
{
int x= stk.top();
if(visit[j]==0 && graph[x][j]!=0)
{
visit[j]=1;
cout<<j<<" ";
stk.push(j);
j=1;
}
}
stk.pop();
}
}
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(1);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBncmFwaFsxMDAxXVsxMDAxXTsKaW50IHZpc2l0WzEwMDFdOyAvL2dsb2JhbGx5IGRlY2xhcmluZyBhbiBhcnJheSBtZWFucyBhcnJheSB2YWx1ZSBpcyAxOwppbnQgbixlOwp2b2lkIERGUyhpbnQgc3RhcnQpCnsKICAgIC8vaW5pdGlhbCBzdGVwCiAgICB2aXNpdFtzdGFydF09MTsKICAgIGNvdXQ8PHN0YXJ0PDwiICI7CiAgICBzdGFjazxpbnQ+c3RrOwogICAgc3RrLnB1c2goc3RhcnQpOwoKICAgIC8vcmVwZWF0aW5nIHN0ZXAKICAgIHdoaWxlKCFzdGsuZW1wdHkoKSkKICAgIHsKICAgICAgZm9yKGludCBqPTE7ajw9bjtqKyspCiAgICAgIHsKICAgICAgICBpbnQgeD0gc3RrLnRvcCgpOwogICAgICAgICAgICBpZih2aXNpdFtqXT09MCAmJiBncmFwaFt4XVtqXSE9MCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmlzaXRbal09MTsKICAgICAgICAgICAgICAgIGNvdXQ8PGo8PCIgIjsKICAgICAgICAgICAgICAgIHN0ay5wdXNoKGopOwogICAgICAgICAgICAgICAgaj0xOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHN0ay5wb3AoKTsKICAgIH0KfQoKaW50IG1haW4oKQp7CmNpbj4+bj4+ZTsKaW50IHUsdjsKZm9yKGludCBpPTE7aTw9ZTtpKyspCnsKICAgIGNpbj4+dT4+djsKICAgIGdyYXBoW3VdW3ZdPTE7CiAgICBncmFwaFt2XVt1XT0xOwp9CkRGUygxKTsKCgoKcmV0dXJuIDA7Cn0K