時間制限 : sec, メモリ制限 : KB
English / Japanese  

有理ナップサック問題

$N$ 個の品物と、容量が $W$ のナップサックがあります。品物 $i$ ($1 \le i \le N$) の重さは $w_i$ で、$w_i$ あたりの価値は $v_i$ です。

次の条件を満たすように、各品物を好きな重さだけナップサックに入れます:

  • ナップサックに入れた品物の価値の合計をできるだけ高くする。
  • ナップサックに入れた品物の重さの総和は $W$ を超えない。
  • 品物 $i$ ($1 \le i \le N$) を重さ $w'$ ($0 \le w' \le w_i$) だけナップサックに入れたとき、その価値は $\displaystyle v_i \times \frac{w'}{w_i}$ である

ナップサックに入れた品物の価値の合計の最大値を求めてください。

入力

$N$ $W$
$v_1$ $w_1$
$v_2$ $w_2$
:
$v_N$ $w_N$

1行目に2つの整数 $N$、$W$ が空白区切りで1行に与えられる。

続く $N$ 行に品物 $i$ の価値と重さを表す整数 $v_i$、$w_i$ が空白区切りで与えられる。

出力

価値の合計の最大値を1行に出力する。絶対誤差が $10^{-6}$ 以下のとき正答と判定される。

制約

  • $1 \le N \le 10^5$
  • $1 \le W \le 10^9$
  • $1 \le v_i \le 10^9 (1 \le i \le N)$
  • $1 \le w_i \le 10^9 (1 \le i \le N)$

入力例 1

3 50
60 10
100 20
120 30

出力例 1

240

品物1を10、品物2を20、品物3を20だけナップサックに入れると価値の合計は240となり、これが最大です。

入力例 2

3 50
60 13
100 23
120 33

出力例 2

210.90909091

品物1を13、品物2を23、品物3を14だけナップサックに入れたときの価値が最大です。出力は実数にもなり得ることに注意してください。

入力例 3

1 100
100000 100000

出力例 3

100