Cho một cây gồm đỉnh, đánh số từ đến . Mỗi cạnh có một trọng số nguyên dương. Với hai đỉnh , đường đi duy nhất từ tới được xét theo đúng hướng bắt đầu ở và kết thúc ở .
Cần xử lý truy vấn thuộc một trong hai loại:
- : tính tổng trọng số các cạnh trên đường đi từ tới ;
- : liệt kê các đỉnh trên đường đi từ tới theo thứ tự gặp được, đánh số từ , rồi tìm đỉnh ở vị trí .
Nếu , đường đi không chứa cạnh nào, nên truy vấn loại có kết quả bằng ; truy vấn loại khi đó chỉ có thể có .
Input
- Dòng đầu chứa số nguyên .
- dòng tiếp theo, mỗi dòng chứa ba số nguyên : có một cạnh nối với và cạnh đó có trọng số .
- Dòng tiếp theo chứa số nguyên .
- Mỗi trong dòng cuối có một trong hai dạng:
- ;
- .
Output
- Với mỗi truy vấn, in kết quả tương ứng trên một dòng.
Constraints
- .
- .
- ; trên mỗi cạnh.
- .
- cạnh tạo thành một cây.
- Với truy vấn loại .
- Input chỉ chứa một test case.
Scoring
- Subtask ( điểm): .
- Subtask ( điểm): không có giới hạn bổ sung.
Example
Test 1
Input
8 1 2 4 1 3 7 2 4 3 2 5 6 3 6 5 6 7 2 6 8 9 7 1 4 7 2 4 7 1 2 4 7 3 2 4 7 6 2 7 5 3 1 8 5 2 6 6 1
Output
21 4 1 7 3 31 6
Giải thích: Đường là , có tổng trọng số ; các vị trí lần lượt chứa . Đường có tổng trọng số .