바이트랜드 정보국의 핵심 컴퓨터
시간 제한1초메모리 제한128 MB
1번 정점에서 모든 정점에 도달할 수 있는 방향 그래프가 주어질 때, 제거하면 다른 정점에 도달할 수 없게 되는 정점을 모두 찾는다.
문제
바이트랜드 정보국(BAI)은 네트워크로 연결된 컴퓨터 대를 운영한다. 컴퓨터에는 번부터 번까지 번호가 매겨져 있으며, 번 컴퓨터가 서버이다. 컴퓨터들은 두 컴퓨터를 잇는 단방향 정보 채널로 연결되어 있다. 전체 네트워크는 서버에서 다른 모든 컴퓨터로 (직접 또는 다른 컴퓨터를 거쳐) 정보를 보낼 수 있도록 구성되어 있다.
BAI가 새 소식을 입수하면 그 정보는 먼저 서버에 올라간 뒤 네트워크 전체로 전파된다. 정보국장은 만약 컴퓨터 한 대가 완전히 멈춘다면(예: 공격으로 파괴된다면) 어떤 일이 벌어질지 궁금해한다. 이때 고장 난 컴퓨터가 피할 수 없는 중계 지점이었다면, 새로 입수한 정보가 나머지 컴퓨터 중 일부에 전달되지 못할 수 있다. 이렇게 고장이 났을 때 그러한 상황을 일으킬 수 있는 컴퓨터를 핵심 컴퓨터라고 부른다. 예를 들어 아래 그림의 네트워크에서 핵심 컴퓨터는 번과 번이다. 번은 서버이고, 서버에서 번 컴퓨터로 가는 모든 정보는 반드시 번 컴퓨터를 거쳐야 하기 때문이다.

다음을 수행하는 프로그램을 작성하라.
- 표준 입력에서 네트워크의 정보를 읽는다.
- 모든 핵심 컴퓨터를 찾는다.
- 핵심 컴퓨터의 번호를 표준 출력에 출력한다.
입력
첫째 줄에 두 정수 과 이 공백 하나로 구분되어 주어진다. 은 네트워크에 있는 컴퓨터의 수로 이고, 은 정보 채널의 수로 이다. 이어지는 개의 줄에는 각각 하나의 정보 채널이 공백으로 구분된 두 정수 와 (, )로 주어진다. 이는 컴퓨터 에서 컴퓨터 로 정보를 보내는 채널을 뜻한다. 시작점과 끝점이 모두 같은 채널이 두 개 이상 존재하는 경우는 없다고 가정해도 된다.
출력
출력은 두 줄로 이루어진다. 첫째 줄에는 핵심 컴퓨터의 수 를 출력한다. 둘째 줄에는 핵심 컴퓨터의 번호를 오름차순으로 공백 하나씩 구분해 출력한다.