#include <fstream>
#include <vector>
using namespace std;
ifstream cin ("ciclueuler.in");
ofstream cout ("ciclueuler.out");
int a[500003],b[500003],ok[500003];
vector<int>v[100003];
int okt=0;
int dfs (int pz)
{
for(int i=v[pz].size()-1;i>=0;--i)
{
int m=v[pz][i];
v[pz].pop_back();
if(ok[m])
continue;
ok[m]=1;
int nn=(pz^a[m]^b[m]);
dfs(nn);
}
if(okt)
cout<<pz<<' ';
okt=1;
}
int main()
{
ios_base::sync_with_stdio(false);
long long t,i,j,k=0,m;
long long x1,y1,x2,y2,pas,val,n;
cin>>n>>m;
for(i=1;i<=m;++i)
{
cin>>a[i]>>b[i];
v[a[i]].push_back(i);
v[b[i]].push_back(i);
}
for(i=1;i<=n;++i)
{
if(v[i].size()&1)
{
cout<<-1;
return 0;
}
}
dfs(1);
return 0;
}