Недавно Вадим придумал новый вид спорта «Пробег»: совмещение программирования и бега. Если сильно упростить правила, цель пробега — пробежать конкретное расстояние до компьютера и решить на нём задачу. Известно, что каждый из N компьютеров расположен на декартовой плоскости, причём каждый из них находится в своей точке.
Авторы сегодняшнего контеста решили сыграть в пробег. Известно, что всего их Q человек, причём каждый стоит где-то на плоскости (необязательно в различных точках), и у каждого есть своя величина dj — расстояние, которое нужно пробежать j-му человеку до одного из компьютеров. При этом авторы решили, что бежать можно только параллельно осям координат, причём если до какого-то компьютера возможно добраться за меньшее расстояние, чем требуется от человека, то до этого компьютера бежать нельзя.
Изобретатель пробега и автор сегодняшнего контеста Вадим заранее знает, где будут находиться компьютеры, где будут стоять все участники пробега и требуемое расстояние для каждого. Чтобы иметь небольшое преимущество над конкурентами, Вадим захотел посчитать, сколько различных компьютеров могут подойти каждому из участников пробега. Помогите ему найти эти количества.
Исходные данные
В первой строке дано целое число N — количество компьютеров (1 ≤ N ≤ 105).
В следующих N строках даны два целых числа cxi и cyi — координаты i-го компьютера (|cxi|, |cyi| ≤ 109).
Гарантируется, что никакие два компьютера не стоят в одной точке.
В следующей строке дано целое число Q — количество участников пробега (1 ≤ Q ≤ 105).
В следующих Q строках даны три целых числа qxj, qyj и dj — координаты j-го участника и требуемое от него расстояние для бега (|qxj|, |qyj| ≤ 109, 0 ≤ dj ≤ 4 · 109).
Результат
Выведите Q целых чисел mj — количество компьютеров, до которых может добежать j-й участник пробега.
Пример
| исходные данные | результат |
|---|
5
0 0
1 1
2 0
1 -1
1 0
4
1 0 1
2 2 2
5 1 5
0 1 4
| 4
2
1
0
|
Автор задачи: Вадим Баринов
Источник задачи: Квалификационный тур Уральского регионального чемпионата ICPC 2025