平面上面有 $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$ 行包含兩個整數 $x_i$ 同 $y_i$($-10^9 \le x_i, y_i \le 10^9$),代表點 $P_i$ 嘅座標。保證呢 $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$。
範例測試資料嘅圖示