#include<bits/stdc++.h>
using namespace std;
vector<int>graph[1001];
int visit[1001];
int n, e;
void BFS(int start)
{
visit[start] =1;
cout << start << " ";
queue<int>Q;
Q.push(start);
while(!Q.empty())
{
int x = Q.front();
Q.pop();
for(int j = 0 ; j< graph[x].size();j++)
{
int node = graph[x][j];
if(visit[node] == 0)
{
visit[node] =1;
cout << node << " ";
Q.push(node);
}
}
}
}
int main()
{
cin >> n >> e;
int u, v;
for(int i =1; i <= e;i++)
{
cin >> u>> v;
graph[u].push_back(v);
graph[v].push_back(u);
}
BFS(1);
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdmVjdG9yPGludD5ncmFwaFsxMDAxXTsKaW50IHZpc2l0WzEwMDFdOwppbnQgbiwgZTsKCnZvaWQgQkZTKGludCBzdGFydCkKewogICAgdmlzaXRbc3RhcnRdID0xOwogICAgY291dCA8PCBzdGFydCA8PCAiICI7CiAgICBxdWV1ZTxpbnQ+UTsKICAgIFEucHVzaChzdGFydCk7CgogICAgd2hpbGUoIVEuZW1wdHkoKSkKICAgIHsKICAgICAgICBpbnQgeCA9IFEuZnJvbnQoKTsKICAgICAgICBRLnBvcCgpOwogICAgICAgIGZvcihpbnQgaiA9ICAwIDsgajwgZ3JhcGhbeF0uc2l6ZSgpO2orKykKICAgICAgICB7CiAgICAgICAgICAgIGludCBub2RlID0gZ3JhcGhbeF1bal07CiAgICAgICAgICAgIGlmKHZpc2l0W25vZGVdID09IDApCiAgICAgICAgICAgIHsKCiAgICAgICAgICAgICAgICB2aXNpdFtub2RlXSA9MTsKICAgICAgICAgICAgICAgIGNvdXQgPDwgbm9kZSA8PCAiICI7CiAgICAgICAgICAgICAgICBRLnB1c2gobm9kZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0KCmludCBtYWluKCkKewogICAgY2luID4+IG4gPj4gZTsKICAgIGludCB1LCB2OwogICAgZm9yKGludCBpID0xOyBpIDw9IGU7aSsrKQogICAgewogICAgICAgIGNpbiA+PiB1Pj4gdjsKICAgICAgICBncmFwaFt1XS5wdXNoX2JhY2sodik7CiAgICAgICAgZ3JhcGhbdl0ucHVzaF9iYWNrKHUpOwogICAgfQoKICAgIEJGUygxKTsKCgoKICAgIHJldHVybiAwOwp9Cg==