在美丽的代尔夫特市,有 $n$ 家酒吧,在二维地图上被标记为点(酒吧之间的距离足够远,这种简化是合理的)。大学生们常做的一件事是进行“啤酒巡游”(Beer Circuit),即规划一条路线,去往其中的一些酒吧,并在每家酒吧喝一杯啤酒。
他们决定好所选酒吧的顺序,依次访问这些酒吧,在每家酒吧喝一杯啤酒,并在访问完巡游路线上的所有酒吧后回到起始酒吧。只访问 2 家酒吧是很无聊的,因此习惯上至少要访问 3 家酒吧,但一条路线中包含的酒吧数量不能超过 $k$ 家。
喝了几杯啤酒后,长时间步行会让人疲惫。因此,啤酒巡游的组织者想要规划一条巡游路线,使得巡游路线中任意两家相邻酒吧之间的最长距离(欧几里得距离)尽可能小。注意,在下一家酒吧喝完啤酒后,学生们会感到精神焕发,因此总步行距离并不是特别重要。
在最小化啤酒巡游中相邻酒吧之间的最大距离后,在所有剩余的啤酒巡游路线中,组织者决定只选择包含酒吧数量最少的那些(当然,这个数量不少于 3)。
组织者有多少种选择他们心仪的啤酒巡游路线的方案?如果两条啤酒巡游路线访问的酒吧集合不同,或者访问酒吧的顺序不同,则它们被视为不同。注意,如果两条啤酒巡游路线的起始酒吧不同,但其他方面相同,它们也被视为不同。
输入格式
第一行包含两个整数 $n$ 和 $k$ ($3 \le n \le 200\,000, 3 \le k \le 30$),分别表示输入点的数量和啤酒巡游路线的最大规模。
接下来的 $n$ 行,每行包含一个酒吧的坐标。每行包含两个整数 $x$ 和 $y$ ($0 \le x, y \le 10^9$),表示地图上标记的酒吧坐标。
保证没有两家酒吧位于完全相同的位置。
输出格式
第一行,输出啤酒巡游路线中相邻两点间欧几里得距离平方的最大值的最小值。欧几里得距离的平方可以通过公式 $(\Delta x)^2 + (\Delta y)^2$ 计算。
第二行,输出在最小化了相邻酒吧间欧几里得距离的最大值后,此类啤酒巡游路线中包含的最少酒吧数量。
第三行,输出满足组织者所有条件的啤酒巡游路线的数量。
样例
样例输入 1
3 3 0 0 2 2 1000000000 1000000000
样例输出 1
2000000000000000000 3 6
样例输入 2
8 5 5 5 5 7 7 7 3 7 2 5 8 5 3 4 7 4
样例输出 2
5 5 20
说明
样例 2 的可视化。红线展示了组织者想要的两个啤酒巡游路线。这两个巡游路线都使用了中间的 2 家酒吧,但一个遍历了左半部分的酒吧,另一个使用了右半部分的酒吧。它们的长度均为 5。每个巡游路线都可以以 10 种不同的顺序进行遍历,因此总共有 20 种不同的可能性。
注意,在样例 2 中,还存在一个使用了所有 8 个顶点的啤酒巡游路线,其最大欧几里得距离相同,但其中包含的酒吧数量不是最小的。