#include<bits/stdc++.h>
using namespace std;
const int N=1e4+10;
int a[N][N];
int n,m;
int q[N];
int h,t;
bool f[N];
void dfs(int x){
f[x]=true;
cout<<x<<" ";
for(int i=1;i<=n;i++){
if(a[x][i]==1&&f[i]==false) dfs(i);
}
}
int main(){
cin>>n>>m;
int x,y;
for(int i=1;i<=m;i++){
cin>>x>>y;
a[x][y]=1;
}
dfs(1);
cout<<endl;
memset(f,0,sizeof(f));
h=1;
t=1;
q[1]=1;
f[1]=true;
cout<<1<<" ";
while(h<=t){
for(int i=1;i<=n;i++){
if(a[q[h]][i]==1&&!f[i]){
cout<<i<<" ";
t++;
q[t]=i;
f[i]=true;
}
}
h++;
}
return 0;
}