一个村庄由 $n$ 座建筑物组成。每座建筑物都可以表示为二维平面上的一个点。第 $i$ 座建筑物的坐标为 $(x_i, y_i)$。
村民们想要在村庄周围架设围栏,要求如下: 围栏必须构成一个简单多边形; 每座建筑物都在多边形内(包括边界); * 作为村庄入口的第 $k$ 座建筑物必须位于围栏上。
求构成有效多边形所需围栏的最小总长度。
输入格式
第一行包含一个整数 $T$ ($1 \le T \le 10^4$),表示测试用例的数量。
对于每个测试用例,第一行包含两个整数 $n, k$ ($3 \le n \le 2 \times 10^5, 1 \le k \le n$),分别表示建筑物的数量和入口编号。
接下来的 $n$ 行,每行包含两个整数 $x_i, y_i$ ($|x_i|, |y_i| \le 10^6$),表示第 $i$ 座建筑物的坐标。
对于每个测试用例,保证给定的点互不相同,且至少有三个点不共线。
保证所有测试用例中 $n$ 的总和不超过 $10^6$。
输出格式
对于每个测试用例,输出一行一个实数,表示围栏的最小总长度。(保留 3 位小数)
样例
输入 1
1 5 3 0 0 0 2 1 1 2 0 2 2
输出 1
8.828