#SL2310F. Fences

Fences

围栏

中文题目为机翻,原题目请参考英文题面

村庄由 nn 建筑物组成。每栋建筑可以表示为二维平面上的一个点。

建筑物 ii 的坐标为 (xi,yi)(x_i,y_i)

村民们想在村庄周围修建栅栏,要求如下:

  • 围栏必须形成一个简单的多边形;
  • 每个建筑物都在多边形内(包括边界);
  • 作为村口的 kk 建筑必须位于栅栏上。

求形成有效多边形所需的最小栅栏总长度。

输入

第一行包含一个整数 T(1T104)T \: (1 \leq T \leq 10^4), 表示测试案例的数量。

对于每个测试案例,第一行包含两个整数 $n,k \: (3 \leq n \leq 2 \times 10^5, 1 \leq k \leq n)$,表示建筑物和入口的数量。

下面 n 行中的每一行都包含两个整数 xi,yi(xi,yi106)x_i,y_i \: (|x_i|,|y_i| ≤ 10^6), 表示建筑物 ii 的坐标。

对于每个测试案例,保证给定的点是不同的,并且至少有三个点是不相交的。

保证所有测试案例的 nn 之和不超过 10610^6

输出

针对每个测试案例,用一行输出一个实数,表示栅栏的最小总长度。 (四舍五入到小数点后 33 位)

示例

1
5 3
0 0
0 2
1 1
2 0
2 2
8.828