#362. 牧场的划分

牧场的划分

Description

小 A 的 N(4<=N<=10000)头奶牛住在一个圆形牧场中的若干点上。小 A 要将这些奶牛分组,所以他想建造 K(3<=K<=1000)个篱笆。这些篱笆从牧场的圆心开始呈放射状,且相互之间的夹角相等,即 360/K。篱笆建好之后,奶牛被分成 K 个组。有些组可能是空的。令其中最大组中奶牛头数为 M,最小组的奶牛头数 m,R=M-m,怎样才能使 R 最小。

没有牛愿意跨骑在篱笆上度日,所以每头牛必须属于某个确定的组。

Format

Input

第一行输入 N 和 K,接下来 N 行,每行有一个的 double 型数,表示一头奶牛所在点相对于圆心的角度(在[0,360 )范围内).

Output

最小的 R。

Samples

4 3
30
60
150.003
240
1

Limitation

1s, 1024KiB for each test case.