Музей
У Федеральному Університеті Флатландії відкрився музей спортивних досягнень. Головна гордість цього музею — зал, де розміщені сувеніри з різноманітних змагань зі спортивного програмування.
Програмування стає дедалі популярнішим, і кількість зацікавлених відвідувачів цього залу зростає, тому директор музею починає турбуватися про збереження своїх сувенірів. Спочатку він вирішив огородити одну або дві зони з сувенірами, щоб відвідувачі не могли вільно переміщатися між ними, а могли лише спостерігати з боку.
Зал має форму опуклого багатокутника, а сувеніри — це точки всередині цього багатокутника. Директор хоче вибрати один або два трикутники з вершинами в кутах залу так, щоб ці трикутники не мали спільної внутрішньої частини (тобто площа їх перетину дорівнювала нулю), а кожен сувенір опинився всередині одного з трикутників.
Директор прагне завдати відвідувачам якомога менше незручностей, тому сумарна площа вибраних трикутників повинна бути мінімальною, при цьому площа кожного трикутника має бути строго позитивною. Допоможіть директору огородити експонати.
Вхідні дані
Перший рядок містить кількість тестів t. Далі йдуть t блоків, кожен з яких виглядає наступним чином.
У першому рядку блоку знаходяться два цілі додатні числа n і m — кількість вершин у багатокутнику, форму якого має зал, і кількість сувенірів у залі (3 ≤ n ≤ 2000, 1 ≤ m ≤ 2000).
У наступних n рядках знаходяться по два цілі числа xh[i]
і yh[i]
— координати вершин багатокутника в декартовій системі координат (-10^9
≤ xh[i]
, yh[i]
≤ 10^9
). Вершини дані в порядку обходу проти годинникової стрілки.
У наступних m рядках знаходяться по два цілі числа xs[i]
, ys[i]
— координати сувенірів (-10^9
≤ xs[i]
, ys[i]
≤ 10^9
).
Гарантується, що всі сувеніри знаходяться строго всередині залу, а також що жодні три з даних n + m точок не лежать на одній прямій.
Сума всіх n і сума всіх m у всіх тестових прикладах одних вхідних даних не перевищують 2000 кожна.
Вихідні дані
Для кожного з t тестів виведіть наступне.
Якщо неможливо вибрати один або два трикутники потрібним чином, виведіть в окремому рядку -1.
Інакше виведіть у першому рядку ціле число k (1 ≤ k ≤ 2) — кількість вибраних трикутників, і в кожному з наступних k рядків виведіть по три цілі числа — номери вершин залу, які є вершинами трикутника.
Якщо оптимальних відповідей кілька, виведіть будь-яку з них.
Зверніть увагу, що потрібно мінімізувати лише сумарну площу вибраних трикутників.
Примітка
На рисунку показані оптимальні способи вибрати трикутники у першому та третьому тестових прикладах, а також розташування сувенірів у другому тестовому прикладі, де вибрати один або два трикутники не можна.