#include <bits/stdc++.h>
using namespace std;
vector <int> v[100555],id[100555];
int f[500555],ir,r[500555];
void bk(int k)
{
while(v[k].size())
{
int nd=v[k].back();
int ix=id[k].back();
v[k].pop_back();
id[k].pop_back();
if(f[ix]==0)
{
f[ix]=1;
bk(nd);
}
}
++ir;
r[ir]=k;
}
int main()
{
ifstream cin("ciclueuler.in");
ofstream cout("ciclueuler.out");
int n,m,x,y;
cin>>n>>m;
for(int i=1;i<=m;++i)
{
cin>>x>>y;
v[x].push_back(y);
id[x].push_back(i);
v[y].push_back(x);
id[y].push_back(i);
}
bool ok=true;
for(int i=1;i<=n;++i)
{
if(v[i].size()%2==1)
{
ok=false;
}
}
if(ok==false)
{
cout<<-1;
}
else
{
bk(1);
for(int i=1;i<=m;++i)
{
if(f[i]==0)
{
ok=false;
}
}
if(ok==false)
{
cout<<-1;
}
else
{
for(int i=1;i<ir;++i)
{
cout<<r[i]<<" ";
}
}
}
return 0;
}