#include <bits/stdc++.h>   using namespace std;   int used[111111];   multiset<int> g[111111];   multiset<int> vertex;   vector<int> ans;   void dfs(int v) {     used[v] = 1;     vertex.erase(v);     ans.push_back(v);     for (auto i = g[v].begin(); i != g[v].end(); ++i)       if (!used[*i]) vertex.insert(*i);     if (vertex.size()) dfs(*vertex.begin());   }   int main() {     int n, m;     cin >> n >> m;     for (int i = 0; i < m; i++) {       int x, y;       cin >> x >> y;       g[x - 1].insert(y - 1);       g[y - 1].insert(x - 1);     }     dfs(0);     for (int i = 0; i < ans.size(); i++) cout << ans[i] + 1 <<    ;   }   