Bob는 노련한 시스템 엔지니어이다. 그는 늘 까다로운 문제와 씨름하는데, 이번에도 새로운 문제를 풀어야 한다. 그는 성능이 서로 다른 여러 대의 서버로, 오랫동안(혹은 무기한) 처리해야 하는 지속적인 작업 요청들을 처리해야 한다. 지속적인 작업 요청들이 차례로 들어오며, 각 요청은 그 작업을 처리할 수 있는 서버들의 부분집합을 알려 준다. 하나의 작업은 하나의 서버에서만 처리되고, 하나의 서버는 하나의 작업만 처리한다. Bob은 서버들에 최대한 많은 수의 작업을 배치해야 한다. 예를 들어 두 작업 $j_1$, $j_2$와 두 서버 $s_1$, $s_2$가 있고, $j_1$과 $j_2$가 모두 서버 $s_1$을 필요로 한다면, Bob은 오직 한 개의 작업만 배치할 수 있다.
일반적으로, $0$부터 $n-1$까지 번호가 매겨진 $n$개의 작업과, $n$부터 $2n-1$까지 번호가 매겨진 $n$개의 서버, 그리고 작업 요청들의 목록이 주어진다. 처리할 수 있는 작업의 최대 개수를 구하여라.
입력은 표준 입력으로 주어지며 크기는 최대 $1,\text{MB}$이다. 입력에는 여러 개의 데이터 집합이 들어 있을 수 있고, 각 데이터 집합은 하나의 작업 집합을 나타낸다.
각 데이터 집합은 작업의 개수 $n$ ($n \le 10000$)으로 시작하며, 이어서 각 작업이 필요로 하는 서버들의 목록이 다음 형식으로 주어진다.
작업번호: (서버수) s_1 … s_서버수
공백(스페이스, 줄바꿈 등)은 어디에나 자유롭게 들어갈 수 있다. 입력 데이터는 항상 올바르며, 파일의 끝(EOF)에서 종료된다.
각 데이터 집합마다, 처리할 수 있는 작업의 최대 개수를 한 줄에 하나씩 출력한다.