#2015. 分段

分段

Background

Special for beginners, ^_^

Description

给出长度为 nn 的序列 aa 和整数 kk

你可以将序列分成 kk 段,从左到右按顺序标号。

f(i)f\left(i\right) 表示位置 ii 属于的段的编号。

i=1n(aif(i))\sum\limits_{i=1}^n \left(a_i·f(i)\right) 的最大值。

Format

Input

每个测试点包含多组测试例。

每组测试例包含两行。

第一行两个整数, n,k1kn107n,k,1\leq k \leq n\leq10^7

第二行 nn 个整数,表示序列 aai109a,|a_i|\leq10^{9}

单个测试点n的总和不超过10710^7

Output

对于每组测试例,在一行中输出最大值。

Samples

5 2
-1 -2 5 -4 8
7 6
-3 0 -1 -2 -2 -4 -1
4 1
3 -1 6 0
15
-45
8

Limitation

1s, 1024KiB for each test case.