平面上に $n$ 個の点 $P_1, P_2, \ldots, P_n$ があります。VegiCat はあなたに $q$ 個のクエリを出します。各クエリでは点 $P$ が与えられます。
各クエリについて、与えられた点のいくつかを頂点として用いて単純多角形を 1 つ構成してください。その多角形は点 $P$ を厳密に内部に含み、かつ頂点数が最小でなければなりません。そのような多角形が存在しない場合は $-1$ を出力してください。
単純多角形とは、少なくとも 3 つの異なる頂点を持つ閉じた折れ線のことです。隣接する辺は共通の端点でのみ交わり、隣接しない辺は交わりません。
単純多角形と非単純多角形の例
入力
1 行目にはテストケースの個数を表す整数 $T$ ($1 \le T \le 2 \cdot 10^4$) が与えられます。続いて各テストケースが与えられます。
各テストケースの 1 行目には 2 つの正の整数 $n$ と $q$ ($3 \le n \le 10^5$, $1 \le q \le 10^5$) が与えられ、それぞれ与えられた点の個数とクエリの個数を表します。
続く $n$ 行のうち $i$ 行目には、点 $P_i$ の座標を表す 2 つの整数 $x_i$ と $y_i$ ($-10^9 \le x_i, y_i \le 10^9$) が与えられます。これら $n$ 個の点は互いに異なることが保証されています。
続く $q$ 行にはそれぞれ、クエリされた点の座標を表す 2 つの整数 $x$ と $y$ ($-10^9 \le x, y \le 10^9$) が与えられます。
すべてのテストケースにおける $n$ の総和は $10^5$ を超えないことが保証されています。
すべてのテストケースにおける $q$ の総和は $10^5$ を超えないことが保証されています。
出力
各クエリについて、条件を満たす多角形が存在しない場合は、1 行に整数 $-1$ を出力してください。
そうでない場合は、頂点数が最小の多角形を出力してください。1 行目には頂点数を表す整数 $m$ を 1 つ出力してください。
2 行目には、頂点の番号を順に表す $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
注記
1 番目のテストケースでは、三角形 $P_4 P_1 P_2$ がクエリされた点 $P = (0, 0)$ を厳密に内部に含んでいます。多角形は少なくとも 3 つの頂点を持つため、この三角形の頂点数は最小です。
2 番目のテストケースでは、可能な唯一の多角形は三角形 $P_1 P_2 P_3$ です。クエリされた点 $P = (0, 0)$ は辺 $P_2 P_3$ 上にあるため、答えは $-1$ です。
サンプルテストケースの図解