Det er $n$ punkter $P_1, P_2, \ldots, P_n$ i planet. VegiCat har $q$ spørringer til deg. Hver spørring gir et punkt $P$.
For hver spørring, konstruer et enkelt polygon ved å bruke noen av de oppgitte punktene som hjørner. Polygonet må inneholde $P$ strengt på innsiden og ha minimum antall hjørner. Hvis det ikke finnes et slikt polygon, skriv ut $-1$.
Et enkelt polygon er en lukket polygonal kjede med minst tre forskjellige hjørner. Nabokanter krysser hverandre kun i sitt felles endepunkt, og ikke-nabokanter krysser ikke hverandre.
Eksempler på enkle og ikke-enkle polygoner
Inndata
Den første linjen inneholder et heltall $T$ ($1 \le T \le 2 \cdot 10^4$), antallet testtilfeller. Beskrivelsen av testtilfellene følger.
Den første linjen i hvert testtilfelle inneholder to positive heltall $n$ og $q$ ($3 \le n \le 10^5$, $1 \le q \le 10^5$), som representerer antallet oppgitte punkter og antallet spørringer.
Den $i$-te av de neste $n$ linjene inneholder to heltall $x_i$ og $y_i$ ($-10^9 \le x_i, y_i \le 10^9$), koordinatene til $P_i$. Det garanteres at disse $n$ punktene er parvis forskjellige.
Hver av de neste $q$ linjene inneholder to heltall $x$ og $y$ ($-10^9 \le x, y \le 10^9$), koordinatene til det forespurte punktet.
Det garanteres at summen av $n$ over alle testtilfeller ikke overstiger $10^5$.
Det garanteres at summen av $q$ over alle testtilfeller ikke overstiger $10^5$.
Utdata
For hver spørring, hvis det ikke finnes noe polygon som oppfyller kravene, skriv ut ett heltall $-1$ på en linje.
Ellers, skriv ut et polygon med minimum antall hjørner. På den første linjen, skriv ut ett heltall $m$, antallet hjørner.
På den andre linjen, skriv ut $m$ heltall $a_1, a_2, \ldots, a_m$ ($1 \le a_i \le n$), indeksene til hjørnene i rekkefølge. Polygonet er $P_{a_1} P_{a_2} \ldots P_{a_m}$. Hjørnene kan skrives ut enten med eller mot klokken.
Indeksene må være parvis forskjellige, og det utskrevne polygonet må være enkelt og inneholde det forespurte punktet strengt på innsiden. Hvis det finnes flere løsninger, skriv ut en hvilken som helst av dem.
Eksempler
Inndata 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
Utdata 1
3 4 1 2 -1
Merk
I det første testtilfellet inneholder trekanten $P_4 P_1 P_2$ det forespurte punktet $P = (0, 0)$ strengt på innsiden. Siden et polygon har minst tre hjørner, har denne trekanten minimum antall hjørner.
I det andre testtilfellet er det eneste mulige polygonet trekanten $P_1 P_2 P_3$. Det forespurte punktet $P = (0, 0)$ ligger på kanten $P_2 P_3$, så svaret er $-1$.
Illustrasjoner av eksempeltesttilfellene