/* package whatever; // don't place package name! */
/*
7
6
1 2
1 3
2 4
2 5
3 6
3 7
case 2:-
2
1
1 2
cas 3:-
1
0
*/
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
Scanner sc
= new Scanner
(System.
in); int n = sc.nextInt();
int m = sc.nextInt();
List<List<Integer>> adj = new ArrayList<>();
for(int i=0; i<=n;i++){
adj.add(new ArrayList<>());
}
for(int i=0; i<m; i++){
int u = sc.nextInt();
int v = sc.nextInt();
adj.get(u).add(v);
adj.get(v).add(u);
}
List<Integer> leaves = printLeafBfs(adj,1);
}
public static List<Integer> printLeafBfs(List<List<Integer>> adj,int src){
Queue<Integer> q = new LinkedList<>();
boolean visited[] = new boolean[adj.size()];
q.add(src);
visited[src] = true;
List<Integer> leaves = new ArrayList<>();
if(adj.get(src).isEmpty()){
leaves.add(src);
return leaves;
}
while(!q.isEmpty()){
int cur = q.poll();
// System.out.print(cur);
if( (adj.get(cur).size()==1 && visited[adj.get(cur).get(0)])){
leaves.add(cur);
}
for(int x : adj.get(cur)){
if(!visited[x]){
q.add(x);
visited[x] = true;
}
}
}
return leaves;
}
public static List<Integer> printLeafBfsAlgo2(List<List<Integer>> adj,int src){
Queue<Integer> q = new LinkedList<>();
boolean visited[] = new boolean[adj.size()];
q.add(src);
visited[src] = true;
List<Integer> leaves = new ArrayList<>();
int child[]=new int[adj.size()];
if(adj.get(src).isEmpty()){
leaves.add(src);
return leaves;
}
while(!q.isEmpty()){
int cur = q.poll();
int c=0;
for(int x : adj.get(cur)){
if(!visited[x]){
q.add(x);
visited[x] = true;
c++;
}
}
child[cur]=c;
}
for(int i=1; i<child.length;i++){
if(child[i] == 0){
leaves.add(i);
}
}
return leaves;
}
public static List<Integer> printLeafdfs(){
return new ArrayList<>();
}
}