#arc043d. [arc043_d]引っ越し

[arc043_d]引っ越し

問題文

高橋国には NN 個の空き家がある。空き家は 11 から NN の整数で番号付けされており、順に東西に一直線に 11 キロメートル間隔で並んでいる。 つまり ii 番目の空き家は ある基準点から真東に ii キロメートル進んだところにある。

この国に MM 世帯の家族が引っ越してきた。 ii 番目の家族は PiP_i 人家族である。 この MM 世帯の家族に 11 軒ずつ空き家を振り分けていく。このとき複数の家族に同じ家を振り分けてはならない。

あなたの目標は「住民の距離」を最大化するように空き家を振り分けることである。 「住民の距離」とは引っ越してきた人々の中の全ての 22 人組について、その住んでいる家の距離の総和を取った値である。

最適な振り分け方をしたときの「住民の距離」の最大値を求めよ。


入力

入力は以下の形式で標準入力から与えられる

NN MM P1P_1 P2P_2 : PMP_M

  • 11 行目には高橋国にある空き家の個数を表す整数 N(2N106)N(2 ≦ N ≦ 10^6) と 高橋国に引っ越してくる家族の世帯数 M(2Mmin(N,1,000))M(2 ≦ M ≦ min(N, 1,000)) が空白区切りで与えられる。
  • 22 行目からの MM 行のうち ii 行目には ii 番目の家族を構成する人数 Pi(1Pi100)P_i(1 ≦ P_i ≦ 100) が与えられる。

部分点

この問題には部分点が設定されている。

  • 2N102 ≦ N ≦ 10 を満たすデータセットに正解した場合は 1010 点が与えられる。
  • 2N1062 ≦ N ≦ 10^6を満たすデータセットに正解した場合はさらに 9090 点が与えられる。合計で 100100 点となる。

出力

「住民の距離」の最大値を 11 行に出力せよ。 出力の末尾に改行を入れること。


入力例1


4 3
1
1
2

出力例1


11

11 つめの家族の構成をAさん。22 つめの家族の構成をBさん。33 つめの家族の構成をCさん、Dさんとする。 11 つめの家族を 11 番目の空き家、 22 つめの家族を 22 番目の空き家、33 つめの家族を 44 番目の空き家に振り分けると、各二人組の距離は以下のようになる。

  • AさんとBさんの距離: 11
  • AさんとCさんの距離: 33
  • AさんとDさんの距離: 33
  • BさんとCさんの距離: 22
  • BさんとDさんの距離: 22
  • CさんとDさんの距離: 00

よって合計は 1111 となる。これが「住民の距離」の最大値である。


入力例2


10 10
3
1
4
1
5
9
2
6
5
3

出力例2


2998

入力例3


20 10
2
7
1
8
2
8
1
8
2
8

出力例2


9852