고질라
시간 제한1초메모리 제한128 MB
방향 그래프에서 k개의 간선을 순서대로 삭제한 뒤마다 모든 정점에 도달하는 데 필요한 최소 시작 정점 수를 구합니다.
문제
한 마을 주민들은 인기 드라마를 즐겨 봅니다. 이 드라마는 마을 구석구석까지 닿는 케이블 방송망을 통해 각 집으로 전달됩니다. 방송망은 개의 노드와 개의 단방향 연결로 이루어져 있으며, 모든 노드에는 최소한 한 채의 집이 연결되어 있습니다.
일부 노드는 송출 노드로 지정되어 방송이 그 노드로 직접 전송됩니다. 어떤 집에서 드라마를 볼 수 있으려면, 어떤 송출 노드에서 그 집이 연결된 노드까지 (직접 연결이 아니어도 되는) 연결 경로가 존재해야 합니다. 비용을 최소화하기 위해 송출 노드의 수는 가능한 한 적어야 합니다.
그런데 고질라가 마을에 나타났습니다. 고질라는 케이블 방송망을 먹이로 삼아 하루에 연결 하나씩을 먹어 치웁니다. 방송 사업자는 시청자를 잃을 수 없으므로, 공격이 있을 때마다 모든 집이 여전히 드라마를 볼 수 있도록 송출 노드를 다시 지정해야 합니다. 번의 공격 각각에 대해, 그 공격 직후에 필요한 송출 노드의 최소 개수를 구하세요.
입력
첫째 줄에 두 정수 과 ()이 주어지며, 각각 방송망의 노드 수와 연결 수를 나타냅니다.
이어지는 개의 줄에는 각각 두 정수 와 (, )가 주어지며, 노드 에서 노드 로 향하는 단방향 연결을 나타냅니다. 한 쌍의 노드 사이에는 같은 방향의 직접 연결이 최대 하나만 존재하며, 각 연결은 입력에 정확히 한 번씩 등장합니다. 연결에는 입력에 등장한 순서대로 번부터 번호가 매겨집니다.
그다음 줄에는 공격받는 연결의 수를 나타내는 정수 ()가 주어집니다. 이어지는 개의 줄에는 매일 공격받는 연결의 번호가 공격 순서대로 하나씩 주어집니다.
출력
정확히 개의 줄을 출력합니다. 번째 줄에는 정수 하나를 출력하며, 이는 처음 번의 공격이 끝난 뒤(즉, 처음 개의 공격받은 연결이 모두 제거된 상태에서) 모든 집이 드라마를 볼 수 있도록 하기 위해 필요한 송출 노드의 최소 개수입니다.