언어 배우기

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

문제

농부 존에게는 $1 \ldots N$ 번으로 편리하게 번호가 매겨진 소 $N$ ($2 \le N \le 10{,}000$) 마리가 있고, 역시 $1 \ldots M$ 번으로 번호가 매겨진 언어 $M$ ($1 \le M \le 30{,}000$) 개가 있습니다. 소 $i$ 는 $K_i$ ($1 \le K_i \le M$) 개의 언어, 즉 $L_{i1}, L_{i2}, \ldots, L_{iK_i}$ ($1 \le L_{ij} \le M$) 를 말할 수 있습니다. 소들이 그리 똑똑하지는 않아서, 모든 소에 대한 $K_i$ 의 합은 최대 $100{,}000$ 입니다.

두 소는 공통으로 말할 수 있는 언어가 있어야만 직접 대화할 수 있습니다. 하지만 소들은 필요하면 번역을 거쳐 메시지를 전달할 수 있습니다. 즉, 소 $A$ 와 $B$ 는 다음을 만족하는 소들의 열 $T_1, T_2, \ldots, T_k$ 가 존재할 때에만 대화할 수 있습니다: $A$ 와 $T_1$ 이 언어 하나를 공유하고, $T_1$ 과 $T_2$ 가 언어 하나를 공유하고, 이런 식으로 이어져서, $T_k$ 와 $B$ 가 언어 하나를 공유합니다.

농부 존은 소들이 더 잘 어울리길 바라기 때문에, 모든 소가 다른 어떤 소와도 서로 소통할 수 있게 하고 싶습니다. 그는 책을 사서 자신의 소 중 아무에게나 원하는 언어를 가르칠 수 있습니다. 존은 꽤 알뜰한 농부라서, 모든 소가 서로 대화할 수 있게 만드는 데 필요한 책의 최소 개수만큼만 사려고 합니다. 이 최소 책 개수를 구하도록 도와주세요.

예를 들어, Alberta, Bessie, Contessa 라는 소 세 마리와 #1, #2, #3 으로 표시된 언어 세 개가 있다고 합시다. Alberta 는 언어 #2 와 #3 을, Bessie 는 언어 #2 를, Contessa 는 언어 #1 을 말할 수 있습니다. 지금은 Alberta 와 Bessie 는 서로 대화할 수 있지만 Contessa 는 혼자 남겨져 있습니다.

             #1  #2  #3
Alberta           x   x
Bessie            x
Contessa      x

존이 Contessa 에게 언어 #2 를 가르치는 책을 사 주면, 세 소 모두 언어 #2 를 공유하게 되어 서로 소통할 수 있습니다. (언어 #3 을 가르쳐도 되는데, 그러면 Contessa 가 Alberta 를 거쳐 Bessie 에게 닿을 수 있기 때문입니다.) 어느 쪽이든 여기서는 정확히 책 한 권이 필요합니다.

입력

  • 첫째 줄: 공백으로 구분된 두 정수 $N$ 과 $M$.
  • $2 \ldots N+1$ 째 줄: $i+1$ 째 줄은 소 $i$ 가 말할 수 있는 언어를 $K_i + 1$ 개의 공백으로 구분된 정수로 나타냅니다: $K_i, L_{i1}, L_{i2}, \ldots, L_{iK_i}$.

출력

  • 정수 하나: 모든 소가 (직접 또는 간접적으로) 서로 소통할 수 있게 하기 위해 존이 사야 하는 책의 최소 개수.