#include<bits/stdc++.h>
using namespace std;
int n,m;
vector<int> e[100005];
int vis1[100006];
int vis2[100006];
void dfs(int u)
{
vis1[u]=1;
cout<<u<<' ';
for(int i:e[u])
{
if(!vis1[i])
{
dfs(i);
}
}
}
queue<int> q;
void bfs(int u)
{
q.push(u);
while(!q.empty())
{
int v;
v=q.front();
q.pop();
if(vis2[v])
{
continue;
}
cout<<v<<' ';
vis2[v]=1;
for(int i:e[v])
{
if(vis2[i]==0)
{
q.push(i);
}
}
}
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cin>>n>>m;
for(int i=1;i<=n;i++)
{
int u,v;
cin>>u>>v;
e[u].push_back(v);
}
for(int i=1;i<=n;i++)
{
sort(e[i].begin(),e[i].end());
}
dfs(1);
cout<<'\n';
bfs(1);
return 0;
}