평면 위에 $n$개의 점 $P_1, P_2, \ldots, P_n$이 있습니다. VegiCat은 당신에게 $q$개의 쿼리를 질문합니다. 각 쿼리는 점 $P$를 하나씩 줍니다.
각 쿼리에 대해, 주어진 점들 중 일부를 꼭짓점으로 사용하여 단순 다각형을 하나 만드세요. 이 다각형은 점 $P$를 엄밀히 내부에 포함해야 하며, 꼭짓점의 개수가 최소여야 합니다. 그러한 다각형이 존재하지 않으면 $-1$을 출력하세요.
단순 다각형이란 적어도 세 개의 서로 다른 꼭짓점을 가지는 닫힌 다각선입니다. 인접한 변들은 공통 끝점에서만 만나며, 인접하지 않은 변들은 서로 만나지 않습니다.
단순 다각형과 단순하지 않은 다각형의 예시
입력
첫 번째 줄에 테스트 케이스의 개수 $T$ ($1 \le T \le 2 \cdot 10^4$)가 주어집니다. 이어서 테스트 케이스의 설명이 주어집니다.
각 테스트 케이스의 첫 번째 줄에는 주어진 점의 개수와 쿼리의 개수를 나타내는 두 양의 정수 $n$과 $q$ ($3 \le n \le 10^5$, $1 \le q \le 10^5$)가 주어집니다.
다음 $n$개의 줄 중 $i$번째 줄에는 $P_i$의 좌표를 나타내는 두 정수 $x_i$와 $y_i$ ($-10^9 \le x_i, y_i \le 10^9$)가 주어집니다. 이 $n$개의 점은 서로 다름이 보장됩니다.
다음 $q$개의 줄에는 각각 쿼리로 주어진 점의 좌표를 나타내는 두 정수 $x$와 $y$ ($-10^9 \le x, y \le 10^9$)가 주어집니다.
모든 테스트 케이스에서 $n$의 합은 $10^5$을 넘지 않음이 보장됩니다.
모든 테스트 케이스에서 $q$의 합은 $10^5$을 넘지 않음이 보장됩니다.
출력
각 쿼리에 대해 조건을 만족하는 다각형이 존재하지 않으면 한 줄에 정수 $-1$을 출력합니다.
그렇지 않으면 꼭짓점의 개수가 최소인 다각형을 출력합니다. 첫 번째 줄에 꼭짓점의 개수를 나타내는 정수 $m$을 하나 출력합니다.
두 번째 줄에 꼭짓점들의 번호를 순서대로 나타내는 $m$개의 정수 $a_1, a_2, \ldots, a_m$ ($1 \le a_i \le n$)을 출력합니다. 다각형은 $P_{a_1} P_{a_2} \ldots P_{a_m}$입니다. 꼭짓점은 시계 방향이나 반시계 방향 중 어떤 순서로 출력해도 됩니다.
꼭짓점 번호들은 서로 달라야 하며, 출력한 다각형은 단순 다각형이어야 하고 쿼리로 주어진 점을 엄밀히 내부에 포함해야 합니다. 가능한 답이 여러 개라면 그중 아무것이나 출력하세요.
예제
예제 입력 1
2 5 1 0 4 -3 0 -3 -3 3 -3 3 0 0 0 3 1 0 4 -3 0 3 0 0 0
예제 출력 1
3 4 1 2 -1
참고
첫 번째 테스트 케이스에서 삼각형 $P_4 P_1 P_2$는 쿼리로 주어진 점 $P = (0, 0)$을 엄밀히 내부에 포함합니다. 다각형은 최소 세 개의 꼭짓점을 가지므로, 이 삼각형은 최소 개수의 꼭짓점을 가집니다.
두 번째 테스트 케이스에서 가능한 유일한 다각형은 삼각형 $P_1 P_2 P_3$입니다. 쿼리로 주어진 점 $P = (0, 0)$이 변 $P_2 P_3$ 위에 있으므로 답은 $-1$입니다.
예제 테스트 케이스의 그림