Апокалипсис | 프로그래밍의 벗 PivotOJ
PivotOJ

Апокалипсис

시간 제한: 3000ms메모리 제한: 1024MB출처: ICPC 2023-2024 Northwestern Russia QualificationBOJ 30595

문제

На планете Мидав очень близок конец света. Как известно, эта плоская планета, которую можно представить как бесконечную плоскость с декартовыми координатами. На этой планете есть QQ поселений.

В нулевой день на Мидаве случилось заражение. Оно представляет из себя выпуклый многоугольник на NN вершинах. Каждый день площадь заражения меняется неизвестным образом, но для каждого дня c номером i>0i > 0 верно следующее:

  1. Если в ii-й день заражена любая точка на расстояние dd от исходного многоугольника, то заражены и все остальные точки на расстоянии не большем dd от исходного многоугольника;
  2. Пусть SkS_{k} --- площадь заражения в kk-й день. Тогда верно Si=2Si1S_i = 2 \cdot S_{i-1}.

Если какое-то поселение окажется внутри или на границе заражения, то все живые организмы в нём сразу же вымрут. Для каждого поселения планеты Мидав осталось совсем немного времени, поэтому ответьте, какой день (включая и нулевой) окажется для поселения последним.

입력

В первой строке дано целое число NN --- количество точек в многоугольнике заражения нулевого дня (3N105)(3 \le N \le 10^5).

В следующих NN строках даны по два целых числа cxic_{xi} и cyic_{yi} --- координаты вершин заражения.

В следующей строке дано целое число QQ --- количество поселений на Мидаве (1Q105)(1 \le Q \le 10^5).

В следующих QQ строках даны по два целых числа txit_{xi} и tyit_{yi} --- координаты каждого из поселений.

Все координаты по модулю не превосходят 10910^9. Гарантируется, что данный многоугольник выпуклый, а также, что вершины заданы в порядке обхода против часовой стрелки. Гарантируется, что поселения находятся на расстоянии не меньшем 10610^{-6} от границы заражения в любой из дней, кроме нулевого.

출력

Выведите QQ целых чисел --- последние дни для поселений в порядке ввода.

힌트

В примере второе поселение будет заражено в нулевой день, так как лежит на границе заражения.

예제

예제 1

입력
4
1 3
1 1
3 1
3 3
4
2 2
1 2
4 1
6 2
출력
0
0
2
4
코드를 제출하려면 로그인하세요.