PivotOJ

Putovanje

시간 제한: 1000ms메모리 제한: 512MB출처: COCI 2019-2020BOJ 18425

문제

Little Fabijan loves bars and travels. He wishes to drink beer coffee in each of the N towns in his country conveniently numbered from 1 to N. The towns are connected via (N − 1) bidirectional roads such that each town is reachable from any other town by traversing some of the roads. Fabijan decided to drink coffee in every town in order from town number 1 to town number N. Therefore, he starts from town number 1 (where he drinks his first coffee) and travels to town number 2 for his next cup of coffee. During that travel he might pass through a number of different towns but he won’t make a coffee stop in those towns. After drinking coffee in town 2, he will proceed to travel to town 3, and so on until he finally reaches town N where he will drink his last coffee.

In order to traverse a certain road, he needs to have a valid ticket. The i-th road can be traversed if you have either a single-pass ticket which costs Ci1 euros or a multi-pass ticket which costs Ci2 euros. For each road, Fabijan can decide to buy a single-pass ticket each time he needs to traverse that road or he might opt to buy a multi-pass ticket once.

Write a program that computes the smallest number of euros Fabijan needs to spend on tickets in order to successfully complete his travels.

입력

The first line contains an integer N (2 ≤ N ≤ 200 000) from task description.

In i-th of the next (N − 1) lines there are four integers Ai, Bi, Ci1, Ci2 (1 ≤ Ai, Bi ≤ N, 1 ≤ Ci1 ≤ Ci2 ≤ 100 000) which represent that towns Ai and Bi are connected with a road with ticket prices Ci1 and Ci2.

출력

In a single line output the smallest cost of travel.

예제

예제 1

입력
4
1 2 3 5
1 3 2 4
2 4 1 3
출력
10

예제 2

입력
4
1 4 5 5
3 4 4 7
2 4 2 6
출력
16

예제 3

입력
5
1 2 2 3
1 3 2 3
1 4 2 3
1 5 2 3
출력
11
코드를 제출하려면 로그인하세요.