#include <bits/stdc++.h>
using namespace std;
ifstream fin("ciclueuler.in");
ofstream fout("ciclueuler.out");
const int nmax = 100005;
vector<int> cycle;
vector<int> adj[nmax];
void euler(int vertex){
while(adj[vertex].empty() == false)
{
int ngb = adj[vertex][adj[vertex].size() - 1];
adj[vertex].pop_back();
adj[ngb].pop_back();
euler(ngb);
}
cycle.push_back(vertex);
}
int main()
{
int V, E;
fin >> V >> E;
for(int i = 1; i <= E; ++i){
int src, dst;
fin >> src >> dst;
adj[src].push_back(dst);
adj[dst].push_back(src);
}
euler(1);
for(auto el: cycle){
fout << el << ' ';
}
return 0;
}