Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

HBTLCA - dynamic LCA

Cho một đồ thị cây có N đỉnh N-1 cạnh, có gốc là đỉnh 1. và M truy vấn. Mỗi truy vấn thuộc một trong hai loại sau:

1 root: Chọn root làm gốc của cây

2 u v: Yêu cầu tìm cha chung gần nhất của hai đỉnh u và v.

Hãy lập trình và đưa ra câu trả lời ứng với các truy vấn loại 2.

Input

Gồm nhiều bộ test:

Dòng 1: Số nguyên N, số đỉnh của cây (1≤N≤105).

N-1 dòng tiếp theo: Mỗi dòng gồm hai số nguyên u và v là hai đỉnh của đồ thị.

Dòng tiếp theo: Số nguyên M, số truy vấn (1≤M≤105).

M dòng tiếp theo, mỗi dòng thuộc một trong hai loại truy vấn đã cho: "! root" ứng với truy vấn loại 1 và "? u v" ứng với truy vấn loại 2.

Kết thúc bộ test là số 0.

Output

Đưa ra các câu trả lời ứng với các bộ, mỗi câu trả lời in ra trên một dòng.

Example

Input:

9

1 2

1 3

2 4

2 5

3 6

3 7

6 8

6 9

5

? 4 5

? 5 6

? 8 7

! 6

? 8 7

0

Output:

2

1

3

6


Được gửi lên bởi:LOVE VNOI
Ngày:2014-11-04
Thời gian chạy:1s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:Tất cả ngoại trừ: ASM64 GOSU PERL6 PYPY RUST SED
Nguồn bài:Sưu tầm

hide comments
2017-05-16 12:14:04
test yếu, mình in lộn max index của 3 cái LCA cũng AC
2016-05-23 11:23:41
Như đùa, nộp cái AC, không tin được...
2016-02-20 13:39:38 m
Tham khảo tại: http://yeulaptrinh.pw/54/spoj-hbtlca/
2014-11-09 05:18:18 Lương Ðức Tuấn Ðạt
Ngon, đang học LCA :))
2014-11-04 14:42:39 Human Immunodeficiency Virus
nghĩ ra rồi. cày thôi :3
2014-11-04 14:35:59 Human Immunodeficiency Virus
tại sao lại là tutorial
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.