뭉쳐야 산다
시간 제한2초메모리 제한1024 MB
한 집합을 다른 집합에 합치고 원래 집합을 비우는 명령을 처리하면서, 크기 질의에 답한다.
문제
N개의 집합 S1, S2, …, SN이 주어질 때 다음 명령들을 Q개 처리해 보자.
1 a b: 집합Sa를Sa∪Sb로 바꾸고,Sb는 공집합으로 바꾼다. (1 ≤a,b≤ N;a≠b)2 a: 집합Sa의 크기를 출력한다. (1 ≤a≤N)
입력
첫 번째 줄에 N과 Q가 주어진다. (1 ≤ N, Q ≤ 500,000)
다음 N개 줄의 i 번째 줄에는 집합 Si의 정보가 주어진다.
각 줄에는 Si의 크기 ni가 먼저 주어지고, 이어서 Si의 원소 sij가 주어진다. (1 ≤ ∑ ni ≤ 500,000; 1 ≤ sij ≤ 109; 모든 k ≠ j에 대해 sij ≠ sik)
다음 Q개 줄에는 위에서 설명한 명령이 한 줄에 하나씩 주어진다.
입력되는 모든 수는 정수이고, 명령 2 a는 하나 이상 주어진다.
출력
명령 2 a가 주어질 때마다 각 줄에 명령의 결과를 출력한다.