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.

EIBONUS2 - Thưởng

Năm nay công ty KP đạt lợi nhuận cao nên quyết định thưởng cho các đơn vị và nhân viên. Công ty được tổ chức theo mô hình cây với KP là gốc, các node trong là phòng ban, và node lá là nhân viên. KP sẽ thưởng cho các đơn vị và nhân viên mà KP trực tiếp quản lý, tiếp theo các đơn vị sẽ chia thưởng cho các đơn vị con và nhân viên mà đơn vị đó quản lý. Tiền thưởng được chia tỉ lệ thuận với điểm đánh giá của nhân viên và đơn vị.

Ví dụ: KP quản lý đơn vị A, và 2 nhân viên B, và C; có điểm đánh giá lần lượt là 60, 40, 30. KP có tổng tiền thưởng là 260 triệu đồng. A, B, C nhận được lần lượt là 120 triệu, 80 triệu, 60 triệu.

Cho mô hình công ty của KP và tổng số tiền thưởng, hãy cho biết mỗi nhân viên được nhận bao nhiều tiền.

Input

Dòng đầu tiên là 2 số nguyên N, M là số nhân viên/đơn vị trong công ty và số tổng tiền thưởng. KP được đánh số 0. Nhân viên và đơn vị được đánh được đánh số từ 1 đến N – 1 (2 ≤ N ≤ 105, 0 ≤ M ≤ 109).

Dòng tiếp theo gồm N – 1 số thực ai là điểm đánh giá của nhân viên/đơn vị thứ i (1 ≤ i < N).

N – 1 dòng tiếp theo, mỗi dòng gồm hai số nguyên a, b thể hiện a là quản lý của b.

Output

Với mỗi nhân viên theo thứ tự tăng dần, hãy cho biết tiền thưởng họ nhận. Số tiền được làm tròn đến hàng đơn vị.

Sample

Input

Output

6 260000000

60 10 40 20 30

0 1

0 3

0 5

1 2

1 4

40000000

80000000

80000000

60000000

Input

Output

5 50

2 1 1 2

0 1

0 2

1 3

1 4

17

11

22


Added by:Ha Minh Ngoc
Date:2019-08-29
Time limit:1s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: GOSU
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.