| Repairing a Road | 
You live in a small town with R bidirectional roads connecting C crossings and you want to go from crossing 1 to crossing C as soon as possible. You can visit other crossings before arriving at crossing C, but it's not mandatory.
You have exactly one chance to ask your friend to repair exactly one existing road, from the time you leave crossing 1. If he repairs the i-th road for t units of time, the crossing time after that would be viai-t. It's not difficult to see that it takes vi units of time to cross that road if your friend doesn't repair it. You cannot start to cross the road when your friend is repairing it.
 C
C 100, 
1
100, 
1 R
R 500). 
Each of the next R lines contains two integers xi, yi (
1
500). 
Each of the next R lines contains two integers xi, yi (
1 xi, yi
xi, yi C) and two positive floating-point numbers
vi and ai (
1
C) and two positive floating-point numbers
vi and ai (
1 vi
vi 20,
1
20,
1 ai
ai 5), indicating that there is a bidirectional road connecting crossing 
xi and yi, with parameters vi and ai (see above). Each pair of crossings can be connected by at most one road. 
The input is terminated by a test case with C = R = 0, you should not process it.
5), indicating that there is a bidirectional road connecting crossing 
xi and yi, with parameters vi and ai (see above). Each pair of crossings can be connected by at most one road. 
The input is terminated by a test case with C = R = 0, you should not process it.
3 2 1 2 1.5 1.8 2 3 2.0 1.5 2 1 1 2 2.0 1.8 0 0
2.589 1.976
Problemsetter: Rujia Liu, Special Thanks: Yiming Li, Tasnim Sunny & Sohel Hafiz