Trại hè Tin học

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 2100 (p) Thời gian: 3.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

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\)\(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 \leq n \leq 10^5, 0 \leq m, k \leq 10^5)\)
  • Mỗi dòng trong \(m\) dòng tiếp theo chứa 2 số nguyên \(a\)\(b\) xác định 2 trường \(a\)\(b\) có quan hệ hợp tác \((1 \leq a, b \leq n, a \neq 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\)\(b\) xác định giữa 2 tỉnh \(a\)\(b\) có tuyến tốc hành \((1 \leq a, b \leq n, a \neq 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 \leq q \leq 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

Mới nhất
Tải bình luận...

Không có bình luận nào.