设 $p_0, p_1, \dots, p_{n-1}$ 为平面上的 $n$ 个点。如果能画出一个圆,使得该圆的内部包含这两个点,且其余 $n-2$ 个点都在该圆的外部,则称这两个点为朋友。请按字典序输出与 $p_0$ 为朋友的点的索引。
题目保证不存在经过 $p_0$ 且同时经过另外三个或更多点的圆周。同时保证不存在经过 $p_0$ 且同时经过另外两个或更多点的直线。
输入格式
第一行包含一个整数 $t$,表示测试用例的数量 ($1 \le t \le 10^4$)。
每个测试用例的第一行包含一个整数 $n$ ($2 \le n \le 10^5$),表示点的数量。接下来 $n$ 行,每行包含两个整数 $x_i$ 和 $y_i$ ($-10^9 \le x_i, y_i \le 10^9$),表示第 $i$ 个点的坐标。
测试数据并未专门针对精度问题进行设计。特别地,题目保证如果将 $p_0$ 在任意方向上移动不超过 $10^{-6}$ 的距离,答案保持不变。
所有测试用例中点的总数不超过 $10^5$。
输出格式
对于每个测试用例,输出一行,包含一个整数 $m$,表示 $p_0$ 的朋友数量,随后输出 $m$ 个整数:按字典序排列的 $p_0$ 的朋友的索引。
样例
样例输入 1
2 4 1 0 3 1 3 -2 7 0 5 0 0 -2 -1 2 2 -2 10 -1 11
样例输出 1
2 1 2 3 1 2 3