Chơi với tập hợp
Dabriel là một cậu bé nứt vỡ cho toán học, hôm nay ông đã học được ở trường của mình một số hoạt động thiết lập. Sau khi dành buổi chiều chơi với một số tập hợp mà anh ấy có, đã đến lúc giải quyết bài tập về nhà, nhưng anh ấy đã rất mệt mỏi và sợ phải mắc một số lỗi vì vậy anh ta đã nhờ bạn giúp đỡ.
Dabriel muốn một chương trình máy tính cho N tập hợp và thực hiện 2 loại truy vấn sau đây:
1 X Y : Trả về số lượng các phần tử riêng biệt trong giao điểm của tập X và Y.
2 X Y : Đưa ra số lượng các phần tử riêng biệt trong liên kết của X và Y.
Đầu vào
Đầu vào bao gồm một số trường hợp thử nghiệm. Mỗi test bắt đầu với một số nguyên N (1 ≤ N ≤ 10⁴), đại diện cho số lượng các tập hợp mà Dabriel có. N dòng tiếp theo bắt đầu với một số nguyên \(M_i\) (1 ≤ Mi ≤ 60), cho thấy tổng số các phần tử trong tập hợp thứ i, sau đó theo các số Mi \(X_{ij}\) (1 ≤ \(X_{ij}\) ≤ 60), đại diện cho giá trị của mỗi phần tử. Dòng tiếp theo có một số nguyên Q (1 ≤ Q ≤ 10⁶), đại diện cho số truy vấn mà Dabriel muốn thực hiện. Trong các dòng tiếp theo Q có mô tả của một hoạt động.
Đầu ra
Đối với mỗi hoạt động, chương trình của bạn nên in ra số lượng các phần tử, như được giải thích trong mô tả.
VÍ DỤ
INPUT
1
4
1 1
2 1 5
3 2 4 6
4 1 3 5 7
5
1 1 2
1 1 4
2 1 4
2 3 4
1 2 4
OUTPUT
1
1
4
7
2
Giải thích
- ở truy vấn 1 : giao của tập 1 và 2 là 1 và có 1 phần tử
- ở truy vấn 2 : giao của tập 1 và 4 là 1 và có 1 phần tử
- ở truy vấn 3 : liên kết giữa tập 1 và 4 là 1, 3, 5, 7 và có 4 phần tử
- ở truy vấn 4 : liên kết giữa tập 3 và 4 là 1, 2, 3, 4, 5, 6, 7 và có 7 phần tử
- ở truy vấn 5 : giao của tập 2 và 4 là 1 và 5 và có 2 phần tử
Comments