#include<bits/stdc++.h>
using namespace std;
vector<int>graph[1001];
int visit[1001];
int n, e;
void BFS(int start)
{
//Initial Step
visit[start] = 1;
cout<<start<<" ";
queue<int>Q;
Q.push(start);
//Repeating Step
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);
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdmVjdG9yPGludD5ncmFwaFsxMDAxXTsKaW50IHZpc2l0WzEwMDFdOwppbnQgbiwgZTsKCnZvaWQgQkZTKGludCBzdGFydCkKewogICAgLy9Jbml0aWFsIFN0ZXAKICAgIHZpc2l0W3N0YXJ0XSA9IDE7CiAgICBjb3V0PDxzdGFydDw8IiAiOwogICAgcXVldWU8aW50PlE7CiAgICBRLnB1c2goc3RhcnQpOwoKICAgIC8vUmVwZWF0aW5nIFN0ZXAKICAgIHdoaWxlKCFRLmVtcHR5KCkpCiAgICB7CiAgICAgICAgaW50IHggPSBRLmZyb250KCk7CiAgICAgICAgUS5wb3AoKTsKICAgICAgICBmb3IoaW50IGogPSAwOyBqIDwgZ3JhcGhbeF0uc2l6ZSgpOyBqKyspCiAgICAgICAgewogICAgICAgICAgICBpbnQgbm9kZSA9IGdyYXBoW3hdW2pdOwogICAgICAgICAgICBpZih2aXNpdFtub2RlXSA9PSAwKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2aXNpdFtub2RlXSA9IDE7CiAgICAgICAgICAgICAgICBjb3V0PDxub2RlPDwiICI7CiAgICAgICAgICAgICAgICBRLnB1c2gobm9kZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0KCmludCBtYWluKCkKewogICAgY2luPj5uPj5lOwogICAgaW50IHUsIHY7CiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IGU7IGkrKykKICAgIHsKICAgICAgICBjaW4+PnU+PnY7CiAgICAgICAgZ3JhcGhbdV0ucHVzaF9iYWNrKHYpOwogICAgICAgIGdyYXBoW3ZdLnB1c2hfYmFjayh1KTsKICAgIH0KICAgIEJGUygxKTsKfQo=