Trong khu vực có \(n\) tỉnh, mỗi tỉnh có một trường chuyên. Giữa một số cặp 2 tỉnh (\(a, b\)) có tuyến
xe tốc hành nối \(a\) với \(b\) và ngược lại. Ban Giám hiệu của một số trường chuyên có ký thỏa thuận
hợp tác trao đổi kinh nghiệm với nhau. Hiện nay đã có \(m\) thỏa thuận được ký và có \(k\) tuyến tốc
hành khác nhau. Giữa 2 cặp tỉnh có không quá một tuyến tốc hành.
Hàng năm một trường sẽ đăng cai tổ chức trại hè. Những trường có quan hệ hợp tác với trường
đăng cai sẽ cử giáo viên và học sinh của mình tới dự nếu từ đó có thể tới tỉnh có trường đăng cai,
trực tiếp hoặc qua một số tỉnh trung gian bằng xe tốc hành.
Theo thời gian, một số tuyến tốc hành mới được xác lập hòa vào mạng lưới tốc hành hiện có, một
số cặp trường có thể ký thỏa thuận hợp tác, các quan hệ hợp tác cũ vẫn được giữ nguyên.
Thông tin về cặp quan hệ mới được đưa dưới dạng thông báo \(F\ a\ b\) – hai trường \(a\) và \(b\) ký thỏa
thuận hợp tác. Thông tin về tuyến tốc hành mới được đưa dưới dạng \(T\ a\ b\) – có tuyến nối tỉnh \(a\)
với tỉnh \(b\) và ngược lại.
Nếu trường đăng cai ở tỉnh \(v\) thì người ta cần biết trước sẽ có bao nhiêu trường từ các tỉnh bạn có
thể tới tham dự và truy vấn sẽ có dạng \(?\ v\).
Với nơi đăng cai cho trước hãy xác định số trường bạn tới dự.
Input
- Dòng đầu tiên chứa 3 số nguyên \(n, m, k\) (\(1 ≤ n ≤ 10^5, 0 ≤ m, k ≤ 10^5\)),
- Mỗi dòng trong \(m\) dòng tiếp theo chứa 2 số nguyên \(a\) và \(b\) xác định 2 trường \(a\) và \(b\) có
quan hệ hợp tác (\(1 ≤ a, b ≤ n, a ≠ b\)), không có 2 dòng nào giống nhau, - Mỗi dòng trong \(k\) dòng tiếp theo chứa 2 số nguyên \(a\) và \(b\) xác định giữa 2 tỉnh \(a\) và \(b\) có
tuyến tốc hành (\(1 ≤ a, b ≤ n, a ≠ b\)), không có 2 dòng nào giống nhau, - Dòng tiếp theo chứa số nguyên \(q\) – số truy vấn cần xử lý (\(1 ≤ q ≤ 10^5\)),
- Mỗi dòng trong \(q\) dòng sau chứa một truy vấn thuộc một trong các dạng đã nêu.
Output
- Đưa ra, với mỗi truy vấn dạng \(?\ v\) – đưa ra số trường
bạn tới dự.
Example
Test 1
Input
4 2 2
1 2
1 3
1 2
1 4
5
? 1
F 4 1
? 1
T 4 3
? 1
Output
1
2
3
Bình luận