#include <bits/stdc++.h>
using namespace std;
void dfs(int node, vector<int> g[], vector<int> &used, vector<int>& parent ){
cout<<node;
cout<<"\n";
used[node] = 1 ;
for(int u:g[node]){
if(used[u]==0){
parent[u]=node;
dfs(u,g,used,parent);
}
}
}
int main() {
int n,m;
cin>>n>>m;
vector<int> g[n+1];
for(int i=1;i<=m;i++){
int x,y;
cin>>x>>y;
g[x].push_back(y);
g[y].push_back(x);
}
vector <int> used(n+5,0);
vector <int> parent(n+5,0);
dfs(1,g,used,parent);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnZvaWQgZGZzKGludCBub2RlLCB2ZWN0b3I8aW50PiBnW10sIHZlY3RvcjxpbnQ+ICZ1c2VkLCB2ZWN0b3I8aW50PiYgcGFyZW50ICl7Cgljb3V0PDxub2RlOwogICAgY291dDw8IlxuIjsKICAgIHVzZWRbbm9kZV0gPSAxIDsgCiAgICBmb3IoaW50IHU6Z1tub2RlXSl7CiAgICAJaWYodXNlZFt1XT09MCl7CiAgICAJCXBhcmVudFt1XT1ub2RlOwogICAgCQlkZnModSxnLHVzZWQscGFyZW50KTsKICAgIAl9CiAgICB9Cn0KaW50IG1haW4oKSB7CglpbnQgbixtOwoJY2luPj5uPj5tOwoJdmVjdG9yPGludD4gZ1tuKzFdOwoJZm9yKGludCBpPTE7aTw9bTtpKyspewoJCWludCB4LHk7CgkJY2luPj54Pj55OwoJCWdbeF0ucHVzaF9iYWNrKHkpOwoJCWdbeV0ucHVzaF9iYWNrKHgpOwoJfQoJdmVjdG9yIDxpbnQ+IHVzZWQobis1LDApOwogICAgdmVjdG9yIDxpbnQ+IHBhcmVudChuKzUsMCk7CiAgICBkZnMoMSxnLHVzZWQscGFyZW50KTsgCQogICAgcmV0dXJuIDA7Cn0=