TopCoder

User's AC Ratio

NaN% (0/0)

Submission's AC Ratio

NaN% (0/0)

Tags

Description

You are deeply disappointed with the real world, so you have decided to live the rest of your life in the world of
MMORPG (Massively Multi-Player Online Role Playing Game). You are no more concerned about the time you
spend in the game: all you need is effciency.



One day, you have to move from one town to another. In this game, some pairs of towns are connected by roads
where players can travel. Various monsters will raid players on roads. However, since you are a high-level player,
they are nothing but the source of experience points. Every road is bi-directional. A path is represented by a
sequence of towns, where consecutive towns are connected by roads.



You are now planning to move to the destination town through the most effcient path. Here, the effciency of a
path is measured by the total experience points you will earn in the path divided by the time needed to travel the
path.



Since your object is moving, not training, you choose only a straightforward path. A path is said straightforward
if, for any two consecutive towns in the path, the latter is closer to the destination than the former. The distance
of two towns is measured by the shortest time needed to move from one town to another.
Write a program to find a path that gives the highest effciency.

Input Format

The first line contains a single integer c that indicates the number of cases.



The first line of each test case contains two integers n and m that represent the numbers of towns and roads
respectively. The next line contains two integers s and t that denote the starting and destination towns respectively.
Then m lines follow. The i-th line contains four integers ui, vi, ei, and ti, where ui and vi are two towns connected
by the i-th road, ei is the experience points to be earned, and ti is the time needed to pass the road.



Each town is indicated by the town index number from 0 to (n - 1). The starting and destination towns never
coincide. n , m , ei's and ti's are positive and not greater than 1000.


Output Format

For each case output in a single line, the highest possible efficiency. Print the answer with four decimal digits.

Sample Input 1

2
3 3
0 2
0 2 240 80
0 1 130 60
1 2 260 60
3 3
0 2
0 2 180 60
0 1 130 60
1 2 260 60

Sample Output 1

3.2500
3.0000

Hints

Problem Source

Migrated from old NTUJ.

Subtasks

No. Testdata Range Score

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 3000 65536 200