Cho một cây đỉnh, được gốc hóa tại đỉnh . Mỗi đỉnh có hai số nguyên và .
Từ một đỉnh không phải lá, bạn được nhảy thẳng tới một đỉnh bất kỳ là hậu duệ nghiêm ngặt của , tức nằm trong cây con của và . Chi phí của bước nhảy là . Từ , bạn tiếp tục nhảy theo cùng quy tắc cho đến khi tới một lá.
Một đỉnh khác gốc là lá khi nó không có con. Đỉnh gốc không được xem là lá nếu cây có nhiều hơn một đỉnh, kể cả khi bậc của nó bằng .
Với mỗi đỉnh , hãy tìm tổng chi phí nhỏ nhất để bắt đầu tại và kết thúc ở một lá trong cây con của . Với một đỉnh lá, chi phí bằng vì không cần thực hiện bước nhảy nào.
Input
- Dòng đầu chứa số nguyên .
- Dòng thứ hai chứa số nguyên .
- Dòng thứ ba chứa số nguyên .
- Trong dòng tiếp theo, mỗi dòng chứa hai số nguyên , mô tả một cạnh của cây.
Output
- In số nguyên trên một dòng. Số thứ là chi phí nhỏ nhất khi bắt đầu tại đỉnh .
Constraints
- .
- .
- Các cạnh tạo thành một cây.
Scoring
- Subtask ( số điểm): .
- Subtask ( số điểm): Không có giới hạn bổ sung.
Example
Test 1
Input
6 4 -2 3 5 1 7 2 6 -1 4 3 -5 1 2 1 3 2 4 2 5 3 6
Output
-20 -8 -15 0 0 0
Giải thích: Các đỉnh là lá nên có chi phí . Từ đỉnh , nhảy thẳng tới tốn ; từ đỉnh , lựa chọn tốt nhất là nhảy thẳng tới , tốn .