Submit | All submissions | Best solutions | Back to list |

## CEOI09HA - CEOI09 Harbingers |

Once upon a time, there were **N **medieval towns in the beautiful Moldavian territory, uniquely numbered from **1 **through **N**. The town numbered with **1 **was the capital city. The towns were connected by **N-1 **bidirectional roads, each road having a length expressed in kilometers. There was a unique way to travel between any pair of towns without going through a town twice (i.e. the graph of roads was a tree).

When a town was attacked, the situation had to be reported as soon as possible to the capital. The message was carried by harbingers, one of which resided in each town. Each harbinger was characterized by the amount of time required to start the journey and by his constant speed (expressed in minutes per kilometer) after departure.

The message from a town was always carried on the unique shortest path to the capital. Initially, the harbinger from the attacked town carried the message. In each town that he traversed, a harbinger had two options: either go to the next town towards the capital, or leave the message to the harbinger from this town. The new harbinger applied the same algorithm as above. Overall, a message could be carried by any number of harbingers before arriving in the capital.

Your task is to find, for each town, the minimum time required to send a message from that town to the capital.

### Input

The first line of the standard input contains one integer **N**, the number of towns in Moldavia. Each of the following **N-1 **lines contains three integers **u v d**, separated by one space, describing a road of length **d **kilometers between towns numbered with **u **and **v**. Subsequently, **N-1 **pairs of integers follow, one per line. The **i**th pair, **S****i ****V****i**, describes the characteristics of the harbinger in the (**i+1**)th town: **S****i **is the number of minutes to prepare for the journey, and **V****i **is the number of minutes needed to travel one kilometer. There is no harbinger in the capital.

### Output

To the standard output write exactly one line containing **N-1 **integers. The **i**th number represents the minimum time, in minutes, required to send a message from the(**i+1**)th town to the capital.

### Example

Input:

5

1 2 20

2 3 12

2 4 1

4 5 3

26 9

1 10

500 2

2 30Output:

206 321 542 328Explanation:

The minimum time to send a message from town 5 to the capital is

achieved as follows. The harbinger from town 5 takes the message

and leaves the town after 2 minutes. He walks 4 kilometers in 120

minutes before arriving in town 2. There he leaves the message to

the harbinger from that town. The second harbinger requires 26

minutes to start the journey and walks for 180 minutes before

arriving to the capital.

The total time is therefore 2 + 120 + 26 + 180 = 328.## Constraints

3 ≤N≤ 100 000

0 ≤Si≤ 1 000 000 000

1 ≤Vi≤ 1 000 000 000

The length of each road will not exceed 10 000

Added by: | Ivan Katanic |

Date: | 2009-08-18 |

Time limit: | 0.200s-0.600s |

Source limit: | 50000B |

Memory limit: | 1536MB |

Cluster: | Cube (Intel G860) |

Languages: | All except: ERL JS NODEJS PERL 6 SCM qobi VB.net |

Resource: | CEOI 09 - Romania |