Processing math: 82%

Problem E: Tangled Cables

Problem

とある会社のネットワーク上にはn台のコンピュータと、それらをつなぐm本の通信ケーブルがある。コンピュータは0からn1までの識別子で区別され、通信ケーブルもまた0からm1までの識別子をもつ。

現在この会社にある任意の異なる2台のコンピュータは、いくつかの通信ケーブルを介して相互に通信することができるが、通信経路がただ一つに定まるとは限らない。

このネットワークには、通信ケーブルが多すぎて絡まってしまうという問題がある。そこであなたは、任意の通信について通信経路がただ一つになるようにいくつかの通信ケーブルを取り除くことにした。

通信ケーブルiはコンピュータaiとbiを双方向につなぎ、その長さはciである。また、あなたが通信ケーブルiを取り除く際にかかる労力はdiである。

作業を始める前に、あなたは取り除く通信ケーブルの長さの和に対する、作業を終えるまでにかかる労力の和の比を「おっくう感」とし、最小のおっくう感を見積もることにした。
ただし、一つも取り除けない場合のおっくう感は0である。

Input

入力は以下の形式で与えられる。

n m
a1 b1 c1 d1
a2 b2 c2 d2
...
am bm cm dm

入力はすべて整数で与えられる。
1行目にはコンピュータの数nと通信ケーブルの数mが空白区切りで与えられる。
2行目以降のm行には、通信ケーブルの情報が空白区切りで与えられる。i番目の通信ケーブルの情報は、通信ケーブルiの情報を表す。

Constraints

入力は以下の条件を満たす。

Output

おっくう感の最小値を実数で1行に出力する。ただし、10^{-5}を超える誤差を含んではならない。

Sample Input 1

4 5
0 2 22 13
0 3 15 25
1 2 3 3
1 3 28 5
2 3 5 22

Sample Output 1

0.36000

通信ケーブル0と通信ケーブル3を取り除くと、おっくう感は(\frac{13 + 5}{22 + 28}) = 0.36となり、これがおっくう感の最小値となる。

Sample Input 2

5 6
0 1 22 33
0 2 43 11
0 3 92 10
1 3 50 12
2 3 88 2
3 4 58 89

Sample Output 2

0.06667

Sample Input 3

2 1
0 1 1 1

Sample Output 3

0