求调
#include<bits/stdc++.h>
using namespace std;
vector<int> l[100002];
int n,m;
int b[100002];
void dfs(int x,int g){
printf("%d ",x);
b[x]=g;
int s=l[x].size();
for(int i=0;i<s;i++){
if(!b[l[x][i]]){
dfs(l[x][i],g+1);
}
}
}
void bfs(int g,int s){
if(s==n){
return ;
}
for(int i=1;i<=n;i++){
if(b[i]==g){
printf("%d ",i);
++s;
}
}
bfs(g+1,s);
}
int main(){
scanf("%d%d",&n,&m);
for(int i=1;i<=m;i++){
int a,b;
scanf("%d%d",&a,&b);
l[a].push_back(b);
}
dfs(1,1);
puts("");
bfs(1,0);
return 0;
}