짜인 토너먼트

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

토너먼트는 nn명의 선수가 벌이는 단판 승부의 연속이다. 한 경기에서는 두 선수가 맞붙어, 진 선수는 탈락하고 이긴 선수는 살아남는다(모든 경기는 반드시 승패가 갈리며 무승부는 없다). 토너먼트는 정확히 한 명만 남을 때 끝나고, 마지막에 남은 선수가 우승자가 된다.

경기 일정은 주최 연맹이 한 경기씩 정한다. 먼저 1번 경기에 나설 두 선수를 고르고, 그 결과가 나오면 아직 남아 있는 선수들 중에서 2번 경기에 나설 두 선수를 고른다. 이어서 3번 경기, 4번 경기의 대진을 정하며, 한 명만 남을 때까지 이를 반복한다.

따라서 우승은 선수들의 실력뿐 아니라 대진, 즉 "운"에도 달려 있다. 연맹도 이 사실을 알고 있다. 연맹은 훈련 기간 동안 선수들을 면밀히 관찰했고, 그 결과 어떤 선수 쌍들 사이의 직접 대결 결과는 이미 확정되어 있다.

이 정보를 바탕으로 연맹은 특정 선수 xx에 대해, xx가 확실히 이길 수 있는 상대만 만나도록 대진을 짤 수 있는지 궁금해한다(그렇게 되면 당연히 xx가 토너먼트 전체에서 우승한다). 그런 대진이 존재하면, 그 토너먼트를 선수 xx를 위해 "짤 수 있다"고 말한다.

토너먼트를 짜 줄 수 있는 선수가 몇 명인지, 그 수를 구하는 프로그램을 작성하여라.

입력

첫째 줄에 토너먼트에 참가하는 선수의 수 nn (1n10001 \le n \le 1000)이 주어진다. 선수는 1,2,,n1, 2, \ldots, n번으로 나타낸다.

다음 nn개의 줄은 각 선수를 설명한다. 그중 ii번째 줄에는 선수 ii와의 직접 대결에서 확실히 이기는 선수들의 목록이 주어진다. 먼저 선수 ii보다 "강한" 선수의 수 mm이 나오고, 이어서 그 선수들의 번호 mm개가 주어진다. 한 줄의 모든 수는 공백 하나로 구분된다.

  • 참고 1: 선수 aabb에게 지고 bbcc에게 진다고 해서, aacc가 직접 맞붙었을 때 aa가 반드시 진다는 뜻은 아니다.
  • 참고 2: 선수 aa가 선수 bb보다 강한 선수 목록에 있으면서 동시에 선수 bb가 선수 aa보다 강한 선수 목록에도 있는 모순된 경우는 입력에 나오지 않는다.

출력

토너먼트를 짜 줄 수 있는 선수의 수를 정수 하나로 출력한다.