토너먼트는 n명의 선수가 벌이는 단판 승부의 연속이다. 한 경기에서는 두 선수가 맞붙어, 진 선수는 탈락하고 이긴 선수는 살아남는다(모든 경기는 반드시 승패가 갈리며 무승부는 없다). 토너먼트는 정확히 한 명만 남을 때 끝나고, 마지막에 남은 선수가 우승자가 된다.
경기 일정은 주최 연맹이 한 경기씩 정한다. 먼저 1번 경기에 나설 두 선수를 고르고, 그 결과가 나오면 아직 남아 있는 선수들 중에서 2번 경기에 나설 두 선수를 고른다. 이어서 3번 경기, 4번 경기의 대진을 정하며, 한 명만 남을 때까지 이를 반복한다.
따라서 우승은 선수들의 실력뿐 아니라 대진, 즉 "운"에도 달려 있다. 연맹도 이 사실을 알고 있다. 연맹은 훈련 기간 동안 선수들을 면밀히 관찰했고, 그 결과 어떤 선수 쌍들 사이의 직접 대결 결과는 이미 확정되어 있다.
이 정보를 바탕으로 연맹은 특정 선수 x에 대해, x가 확실히 이길 수 있는 상대만 만나도록 대진을 짤 수 있는지 궁금해한다(그렇게 되면 당연히 x가 토너먼트 전체에서 우승한다). 그런 대진이 존재하면, 그 토너먼트를 선수 x를 위해 "짤 수 있다"고 말한다.
토너먼트를 짜 줄 수 있는 선수가 몇 명인지, 그 수를 구하는 프로그램을 작성하여라.
첫째 줄에 토너먼트에 참가하는 선수의 수 n (1≤n≤1000)이 주어진다. 선수는 1,2,…,n번으로 나타낸다.
다음 n개의 줄은 각 선수를 설명한다. 그중 i번째 줄에는 선수 i와의 직접 대결에서 확실히 이기는 선수들의 목록이 주어진다. 먼저 선수 i보다 "강한" 선수의 수 m이 나오고, 이어서 그 선수들의 번호 m개가 주어진다. 한 줄의 모든 수는 공백 하나로 구분된다.
토너먼트를 짜 줄 수 있는 선수의 수를 정수 하나로 출력한다.