Cho một cây gồm đỉnh, đánh số từ đến , được chọn gốc tại đỉnh . Mỗi đỉnh có giá trị hiện tại .
Bạn cần xử lý thao tác trực tuyến:
- : thay giá trị của đỉnh bằng ;
- : tính tổng giá trị hiện tại của các đỉnh trên đường đi duy nhất từ gốc đến , kể cả hai đầu mút.
Input
- Dòng đầu chứa hai số nguyên và .
- Dòng tiếp theo chứa số nguyên .
-
Mỗi dòng trong dòng tiếp theo chứa hai số nguyên , biểu diễn một cạnh vô hướng của cây.
-
Mỗi dòng trong dòng cuối mô tả một thao tác theo một trong hai dạng trên.
Output
- Với mỗi thao tác loại , in tổng trên đường từ gốc đến đỉnh được hỏi.
Constraints
- .
- .
- Với thao tác : .
- Với thao tác : .
- Các cạnh tạo thành một cây có gốc tại .
- Kết quả có thể vượt phạm vi số nguyên bit có dấu.
Scoring
- Subtask ( số điểm): .
- Subtask ( số điểm): Không có giới hạn bổ sung.
Example
Test 1
Input
6 6 5 1 4 2 7 3 1 2 1 3 2 4 2 5 3 6 2 5 1 2 6 2 4 2 6 1 1 1 2 6
Output
13 13 12 8
Giải thích: Đường ban đầu có tổng ; sau khi đổi đỉnh , đường cũng có tổng . Phép gán cuối đổi đóng góp của gốc từ thành , nên tổng trên đường giảm từ xuống .