Terdapat $n$ titik $P_1, P_2, \ldots, P_n$ pada bidang datar. VegiCat memiliki $q$ kueri untuk Anda. Setiap kueri memberikan sebuah titik $P$.
Untuk setiap kueri, bangunlah sebuah poligon sederhana menggunakan beberapa titik yang diberikan sebagai titik-titik sudutnya. Poligon tersebut harus memuat $P$ secara ketat di dalamnya dan memiliki jumlah titik sudut minimum. Jika tidak ada poligon seperti itu, keluarkan $-1$.
Poligon sederhana adalah rantai poligonal tertutup dengan setidaknya tiga titik sudut berbeda. Sisi-sisi yang bersebelahan hanya berpotongan pada titik ujung persekutuannya, dan sisi-sisi yang tidak bersebelahan tidak berpotongan.
Contoh poligon sederhana dan bukan poligon sederhana
Masukan
Baris pertama berisi sebuah bilangan bulat $T$ ($1 \le T \le 2 \cdot 10^4$), banyaknya kasus uji. Deskripsi kasus uji menyusul.
Baris pertama dari setiap kasus uji berisi dua bilangan bulat positif $n$ dan $q$ ($3 \le n \le 10^5$, $1 \le q \le 10^5$), yang menyatakan banyaknya titik yang diberikan dan banyaknya kueri.
Baris ke-$i$ dari $n$ baris berikutnya berisi dua bilangan bulat $x_i$ dan $y_i$ ($-10^9 \le x_i, y_i \le 10^9$), koordinat dari $P_i$. Dijamin bahwa $n$ titik ini saling berbeda.
Masing-masing dari $q$ baris berikutnya berisi dua bilangan bulat $x$ dan $y$ ($-10^9 \le x, y \le 10^9$), koordinat dari titik yang ditanyakan.
Dijamin bahwa jumlah $n$ di seluruh kasus uji tidak melebihi $10^5$.
Dijamin bahwa jumlah $q$ di seluruh kasus uji tidak melebihi $10^5$.
Keluaran
Untuk setiap kueri, jika tidak ada poligon yang memenuhi persyaratan, keluarkan satu bilangan bulat $-1$ pada satu baris.
Jika ada, keluarkan poligon dengan jumlah titik sudut minimum. Pada baris pertama, keluarkan satu bilangan bulat $m$, jumlah titik sudut.
Pada baris kedua, keluarkan $m$ bilangan bulat $a_1, a_2, \ldots, a_m$ ($1 \le a_i \le n$), indeks dari titik-titik sudut secara berurutan. Poligon tersebut adalah $P_{a_1} P_{a_2} \ldots P_{a_m}$. Titik-titik sudut dapat dikeluarkan baik dalam urutan searah jarum jam maupun berlawanan arah jarum jam.
Indeks-indeks tersebut harus saling berbeda, dan poligon yang dikeluarkan harus sederhana serta memuat titik yang ditanyakan secara ketat di dalamnya. Jika terdapat beberapa solusi, keluarkan yang mana saja.
Contoh
Masukan 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
Keluaran 1
3 4 1 2 -1
Catatan
Pada kasus uji pertama, segitiga $P_4 P_1 P_2$ memuat titik yang ditanyakan $P = (0, 0)$ secara ketat di dalamnya. Karena poligon memiliki setidaknya tiga titik sudut, segitiga ini memiliki jumlah titik sudut minimum.
Pada kasus uji kedua, satu-satunya poligon yang mungkin adalah segitiga $P_1 P_2 P_3$. Titik yang ditanyakan $P = (0, 0)$ terletak pada sisi $P_2 P_3$, sehingga jawabannya adalah $-1$.
Ilustrasi kasus uji contoh