#IOI20002A. 邮局

邮局

Description

一些村庄被建在一条笔直的高速公路边上。我们用一条坐标轴来描述这条高速公 路,每一个村庄的坐标都是整数。没有两个村庄坐标相同。两个村庄间的距离,定义为 它们坐标值差的绝对值。

我们需要在一些村庄建立邮局一一当然,并不是每一个村庄都必须建立邮局。邮局 必须被建在村庄里,因此它的坐标和它所在的村庄坐标相同。每个村庄使用离它最近的 那个邮局,建立这些邮局的原则是:所有村庄到各自所使用的邮局的距离总和最小。

你的任务是编写一个程序,在给定了每个村庄的坐标和将要建立的邮局数之后,按 照上述原则,合理地选择这些邮局的位置。

Format

Input

输入文件的文件名是 POST.IN。

文件的第一行包含两个整数:第一个整数是村庄的数目 V , 1≤V≤300:第二个整 数是将建立的邮局数 P , 1≤P≤30 且 P≤V。

文件的第二行按照递增顺序列出了 V 个整数。这 V 个整数分别表示了各村庄的位 置坐标。对于每一个位置坐标 X , 1≤X≤ 10000。

Output

输出文件名是 POST.OUT。

文件的第一行是一个整数 S,表示你所求出的所有村庄到离它最近邮局的距离的 总和。

相应地,文件的第二行按照递增顺序列出了 P 个整数,分别表示你所求出的每个 邮局的建立位置。虽然对于同一个 S,可能会有多种邮局建立的方案,但只需输出其 中一种。

Samples

10 5
1 2 3 6 7 9 11 22 44 50
9
2 7 22 44 50

Limitation

如果你的输出格式不对,或者邮局位置和你计算出的最小距离和不吻合,那么你 的得分为 0。

否则,你的得分将根据下表算出。如果你得到的最小距离和是 S,而实际的最小

距离和是 Smin,那么你的成绩将是 c。

![](file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml14540\wps1.png) = S/ Smin q =1.0 1.0< q ≤1.1 1.1< q ≤1.15 1.15< q ≤1.2 1.2< q ≤1.25 1.25< q ≤1.3 1.3 < q
c 10 5 4 3 2 1 0