#include <fstream>
#include <list>
#include <vector>
using namespace std;
ifstream f("ciclueuler.in");
ofstream g("ciclueuler.out");
vector <int> v[1001];
list <int> q;
int n,m,x,y,i,nr;
bool ok;
void euler (int nod)
{vector <int>::iterator it;
int i;
q.push_back(nod);
while (!q.empty())
{nod=q.front();
if (v[nod].empty())
{q.pop_front();
g<<nod<<" ";
}
else {i=v[nod].back();
q.push_front(i);
v[nod].pop_back();
for (it=v[i].begin();it!=v[i].end();it++)
if (*it==nod) {v[i].erase(it);break;}
}
}
}
int main()
{f>>n;
f>>m;
for (i=1;i<=m;i++)
{f>>x>>y;
v[x].push_back(y);
v[y].push_back(x);
}
euler(1);
}