Anissaはフィギュアスケートの演技を終え、スコアを心待ちにしています。この大会の採点方法は少し特殊で、各フィギュアスケーターは複数の審判によって評価され、それらのスコアの平均が最終スコアとなります。
Jolieはスコアを集計するソフトウェアを管理していますが、ハッカーが侵入し、多くの偽の評価を挿入したことに気づきました。彼女は本来期待されるスコアの数を正確に把握しているため、実際に評価を提出したと分かっている審判の数と評価の数が一致するまで、手動で評価を無効化することにしました。
問題は、Jolieがどの評価を無効化すべきか分からないことです。彼女は、評価の数を審判の数と一致させるために十分な数を無効化した後のスコア集合の「悪さ(badness)」を評価するために、以下の指標を用いることにしました。
- 選択した集合に含まれるすべての評価の算術平均を計算する。
- 選択した集合に含まれる各評価と、ステップ1で求めた算術平均との二乗偏差を計算する。つまり、平均が $\mu$ で、ある評価が $x$ である場合、二乗偏差は $(\mu - x)^2$ となる。
- ステップ2で求めたすべての二乗偏差の和を計算する。この和が「悪さ」である。
得られる可能性のあるすべてのスコア集合の中で、最小の「悪さ」を計算してください。
入力
入力の最初の行には、2つの整数 $n$ と $k$ ($1 \le k < n \le 5 \cdot 10^5$) が含まれます。ここで $n$ は評価の総数、$k$ は期待される評価の数です。
続く $n$ 行の各行には、1つの整数 $x$ ($1 \le x \le 10^6$) が含まれます。これらが評価値です。
出力
得られる可能性のあるすべてのスコア集合の中で、最小の「悪さ」を1つの数値として出力してください。答えは、絶対誤差または相対誤差が $10^{-6}$ 以内であれば正解とみなされます。
入出力例
入力 1
4 3 13 13 23 13
出力 1
0
入力 2
5 2 1 2 3 4 5
出力 2
0.5