#include <iostream>
#include <bits/stdc++.h>
using namespace std;
void dfs(int node, vector<int> g[], vector<int>& visited, vector<int>& parent){
cout<<node;
cout<<"\n";
visited[node]=1;
for(auto u: g[node]){
if(visited[u]==0){
parent[u] = node;
dfs(u, g, visited, parent);
}
}
}
int main() {
int n;
cin>>n;
int e;
cin>>e;
vector<int> g[n+1];
for(int i=1; i<=e; i++){
int u,v;
cin>>u;
cin>>v;
g[u].push_back(v);
g[v].push_back(u);
}
// visited
vector<int> visited(n+1, 0);
// parent
vector<int> parent(n+1, 0);
dfs(1, g, visited, parent);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCgp2b2lkIGRmcyhpbnQgbm9kZSwgdmVjdG9yPGludD4gZ1tdLCB2ZWN0b3I8aW50PiYgdmlzaXRlZCwgdmVjdG9yPGludD4mIHBhcmVudCl7CgkKCWNvdXQ8PG5vZGU7Cgljb3V0PDwiXG4iOwoJdmlzaXRlZFtub2RlXT0xOwoJCgkKCWZvcihhdXRvIHU6IGdbbm9kZV0pewoJCQoJCWlmKHZpc2l0ZWRbdV09PTApewoJCQlwYXJlbnRbdV0gPSBub2RlOwoJCQlkZnModSwgZywgdmlzaXRlZCwgcGFyZW50KTsKCQl9Cgl9Cn0KCgppbnQgbWFpbigpIHsKCQoJaW50IG47CgljaW4+Pm47CglpbnQgZTsKCWNpbj4+ZTsKCgl2ZWN0b3I8aW50PiBnW24rMV07CgoJZm9yKGludCBpPTE7IGk8PWU7IGkrKyl7CgkJaW50IHUsdjsKCQljaW4+PnU7CgkJY2luPj52OwoJCWdbdV0ucHVzaF9iYWNrKHYpOwoJCWdbdl0ucHVzaF9iYWNrKHUpOwoJfQoJCgkvLyB2aXNpdGVkCgl2ZWN0b3I8aW50PiB2aXNpdGVkKG4rMSwgMCk7CgkKCS8vIHBhcmVudAoJdmVjdG9yPGludD4gcGFyZW50KG4rMSwgMCk7CgkKCQoJCglkZnMoMSwgZywgdmlzaXRlZCwgcGFyZW50KTsKCQoJCgkKCgkKCgoKCXJldHVybiAwOwp9