program euler;
var f,g:text;
ad:array[1..1000,1..1000] of 0..1;
a:array [0..1000,0..1000] of longint;
n,m,i,x,y,nr:longint;
retine:array[1..100000] of longint;
procedure euler(v:longint);
var w,i:longint;
begin
for i:=1 to a[v,0] do
begin
w:=a[v,i];
if ad[v,w]=1 then
begin
ad[v,a[v,i]]:=0;
ad[a[v,i],v]:=0;
euler(w);
end;
end;
inc(nr); retine[nr]:=v;
end;
begin
assign (f,'ciclueuler.in'); reset (f);
assign (g,'ciclueuler.out'); rewrite(g);
readln (f,n,m);
{setlength(a,n+1,1);}
for i:=1 to m do
begin
read (f,x,y);
{setlength(a[x],length(a[x])+1);}
inc(a[x,0]);
a[x,a[x,0]]:=y;
{ setlength(a[y],length(a[y])+1); }
inc(a[y,0]);
a[y,a[y,0]]:=x;
ad[x,y]:=1; ad[y,x]:=1;
end;
nr:=0;
euler(1);
for i:=1 to nr do write (g,retine[i],' ');
close (F); close (G);
end.