#include <iostream>
using namespace std;
struct data
{
int front;
int behind;
} typedef data;
int main ()
{
int n, x;
cin>>n>>x;
//init;
data dlist [100005];
for (int i=1; i<=n; i++)
{
dlist[i].front=i-1;
dlist[i].behind=i+1;
}
//Run:
for (int i=1; i<=x; i++)
{
int a, b;
cin>>a>>b;
// Xoa node;
dlist[dlist[a].front].behind = dlist[a].behind;
dlist[dlist[a].behind].front = dlist[a].front;
//Chen node;
dlist[dlist[b].front].behind = a;
dlist[a].front = dlist[b].front;
dlist[a].behind = b;
dlist[b].front = a;
}
//Tìm node begin, end;
int Begin, End;
for (int i=1; i<=n; i++)
{
if (dlist[i].front==0)
Begin = i;
if (dlist[i].behind==n+1)
End = i;
}
//In node;
while (1)
{
if (Begin==End)
{
cout<<End;
break;
}
cout<<Begin<<" ";
Begin = dlist[Begin].behind;
}
return 0;
}