#include <fstream>
#include <vector>
#include <algorithm>
#define nMax 100001
#define pb push_back
using namespace std;
ifstream fin("ciclueuler.in");
ofstream fout("ciclueuler.out");
int n, m;
vector<int> stck, G[nMax];
int main()
{
int a, b;
fin>>n>>m;
for(int i=1; i<=m; i++)
{
fin>>a>>b;
G[a].pb(b);
G[b].pb(a);
}
stck.pb(1);
while(stck.size())
{
int node=stck.back();
if(G[node].size())
{
int fiu=G[node].back();
G[node].pop_back();
G[fiu].erase(find(G[fiu].begin(), G[fiu].end(), node));
stck.push_back(fiu);
}
else
{
fout<<node<<" ";
stck.pop_back();
}
}
}