import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
/*
* 广度优先搜索:
* 1、找到源节点,将它的临接点入队列
* 2、
*/
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int edge,f,t,node;
Queue<Integer> q = new LinkedList<Integer>();
int map[][]=new int[21][21];
int [] visited=new int[21];
while(sc.hasNext()){
edge=sc.nextInt(); //边数
node=sc.nextInt(); //顶点数
for(int i=0;i<=edge;i++) visited[i]=0;
for(int i=0;i<=edge;i++)
for(int j=0;j<=edge;j++)
map[i][j]=0;
for(int i=1;i<=edge;i++){
f=sc.nextInt();
t=sc.nextInt();
map[f][t]=1; //f->t 这条边存在
}
//选择1作为源点
q.offer(1);
visited[1]=1;
int s;
while(!q.isEmpty()){
s=q.poll();
System.out.println(s);
for(int j=1;j<=node;j++){
if(map[s][j]==1&&s!=j&&visited[j]!=1){
q.offer(j);
visited[j]=1;
}
}
}
}
}
}