#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=1e5+8;
vector<int>g[N];
int vis[N];
void dfs(int x){
if(vis[x]==0){
cout<<x<<" ";
vis[x]=1;
}
for(auto cl:g[x])dfs(cl);
}
void bfs(int x){
memset(vis,0,sizeof vis);
queue<int>qu;
qu.push(x);
while(qu.size()){
int y=qu.front();
qu.pop();
if(vis[y]==0){
cout<<y<<" ";
vis[y]=1;
}
for(auto w:g[y])qu.push(w);
}
}
signed main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
int n,m;cin>>n>>m;
for(int i=1;i<=m;i++){
int x,y;cin>>x>>y;
g[x].push_back(y);
}
for(int i=1;i<=n;i++)sort(g[i].begin(),g[i].end());
dfs(1);
cout<<'\n';
bfs(1);
return 0;
}