Вам дано місцезнаходження всіх поштових відділень на Землі та набір пунктів призначення для різних посилок. Для кожної посилки ви повинні знайти максимально можливу множину поштових відділень, які підходять як пункти призначення для цієї посилки. Ця множина повинна задовольняти таким умовам:
Поштове відділення, яке знаходиться найближче до пункту призначення, обов’язково має бути включене до результуючої множини.
Усі поштові відділення, що знаходяться не більше ніж на 2% далі за найближче, також мають бути включені до результуючої множини.
У цій задачі Земля вважається ідеальною кулею з радіусом 6381 км. Відстань між двома точками розраховується за формулою гаверсинусів:
A = sin((lat1-lat2)/2)^2 + cos(lat1) · cos(lat2) · (sin((long1-long2)/2)^2);
DISTANCE = 6381 · 2 · atan2(sqrt(A), sqrt(1-A));
(Можна використовувати й інші формули, якщо бажаєте, але зауважте, що формула з арккосинусом має значні похибки округлення на малих відстанях, що може призвести до неправильних результатів.)
Вхідний файл є бінарним; усі числа записані у форматі little-endian. Він містить у такому порядку:
4 байти — кількість поштових відділень (ціле число, не більше )
Для кожного поштового відділення — два числа (по 4 байти кожне), що позначають широту і довготу (у градусах) поштового відділення. Числа зберігаються у вигляді дійсних чисел одинарної точності IEEE754. Усі широти знаходяться в інтервалі від до градусів; усі довготи — від до градусів.
4 байти — кількість посилок (ціле число, не більше )
Для кожної посилки — два числа (по 4 байти кожне), що позначають широту і довготу (у градусах) пункту призначення. Числа зберігаються у вигляді дійсних чисел одинарної точності IEEE754. Усі широти знаходяться в інтервалі від до градусів; усі довготи — від до градусів.
Вихідний файл також є бінарним і містить лише 32-бітові цілі числа у форматі little-endian. Для кожного з рядків у вхідному файлі він повинен містити:
Одне ціле число — кількість поштових відділень у множині призначення
цілих чисел — індекси поштових відділень із множини призначення, відсортовані у порядку зростання (менші індекси першими). Індекс першого поштового відділення у вхідному файлі дорівнює (тобто всі індекси від до включно).
Приклад 1