시간 제한
메모리 제한
시간 제한
2초
메모리 제한
128 MB
캠프 마지막 날에 선물 교환 행사를 열려고 한다. 각 학생은 미리 정해 둔 두 명의 친구에게 선물을 준다.
그대로 진행하면 어떤 학생은 선물을 하나도 받지 못하거나 하나만 받고, 어떤 학생은 세 개 이상 받을 수 있다. 그래서 진행자는 참가자를 일부만 골라, 행사에 참가하는 모든 학생이 정확히 두 개의 선물을 받도록 하려 한다.
각 학생이 선물을 주고 싶은 두 학생의 번호가 주어진다. 참가하는 학생 수가 최대가 되도록 참가자 집합을 구하는 프로그램을 작성하시오.
첫째 줄에 학생 수 N(3 <= N <= 200,000)이 주어진다. 학생들은 1번부터 N번까지 번호가 매겨져 있다.
다음 N개의 줄에는 i번 학생이 선물을 주고 싶은 서로 다른 두 학생의 번호가 공백으로 구분되어 주어진다. 자기 자신에게 선물을 주는 경우는 없다.
첫째 줄에 최대로 참가시킬 수 있는 학생 수를 출력한다.
참가자가 한 명 이상이면 둘째 줄에 참가할 학생들의 번호를 증가하는 순서로 공백으로 구분해 출력한다. 가능한 답이 둘 이상이면 그중 아무거나 출력해도 된다.
한 명의 학생도 참가시킬 수 없다면 첫째 줄에 0만 출력한다.