#include<bits/stdc++.h>
using namespace std;
vector<int>a[100005];
int b[100005];
int c[100005];
queue<int>p;
void dfs(int x){
cout<<x<<" ";
int p=a[x].size();
for(int i=0;i<p;i++){
if(!b[a[x][i]]){
b[a[x][i]]=1;
dfs(a[x][i]);
}
}
}
int main(){
int n,m,x,y;
cin>>n>>m;
while(m--){
cin>>x>>y;
a[x].push_back(y);
}
b[1]=1;
dfs(1);
cout<<endl;
p.push(1);
c[1]=1;
while(!p.empty()){
int x=p.front();
p.pop();
cout<<x<<" ";
int s=a[x].size();
for(int i=0;i<s;i++){
if(!c[a[x][i]]){
c[a[x][i]]=1;
p.push(a[x][i]);
}
}
}
return 0;
}