년, 디미고에는 번부터 번까지의 번호가 매겨진 개의 건물과 이 건물들을 잇는 개의 길이 있다. 두 건물을 직접 연결하는 길은 개 이하이다.
어느 날 학교에 바이러스가 돌게 되어 전교생이 바이러스에 감염될 위기에 처했다. 이에 당신은 바이러스의 전파를 막기 위해 다음과 같은 통제 작업을 회 이상 진행하여 모든 길을 통제하기로 했다.
- 아직 통제되지 않은 길과 직접 연결된 건물 하나를 선택한 뒤 그 건물과 직접 연결된 모든 길을 통제한다.
학생들의 안전을 위해 당신은 통제 작업을 최대한 많이 진행하기로 했다. 이때 통제 작업을 어떤 순서로 진행해야 하는지 구하시오.
Input
첫 번째 줄에 건물의 개수 , 길의 개수 이 공백으로 구분되어 주어진다.
두 번째 줄부터 개의 줄에 걸쳐 각 줄에 길이 연결하는 두 건물의 번호 , 가 공백으로 구분되어 주어진다.
Output
첫 번째 줄에 통제 작업을 진행할 수 있는 최대 횟수 를 출력한다.
두 번째 줄부터 개의 줄에 걸쳐 각 줄에 통제 작업을 진행할 건물의 번호를 순서대로 한 줄에 하나씩 출력한다.
통제 작업의 횟수를 최대화하는 방법이 여러 가지라면 그중 아무거나 하나를 출력한다.
Subtasks
Samples
예제 1
입력
3 3
3 2
3 1
2 1
출력
2
2
3
예제 2
입력
10 8
4 10
10 7
1 4
8 6
10 1
1 9
7 4
9 5
출력
6
7
10
4
5
9
8