Задача D. Каравай

Входной файл:input.txt   Ограничение времени:2 сек
Выходной файл:output.txt   Ограничение памяти:256 Мб
Максимальный балл:100  

Условие

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

Каравай состоит из 3 круглых коржей. Площади коржей различны и возрастают от верхнего коржа к нижнему. Радиус каждого следующего коржа отличается от предыдущего не менее чем на d.

Размеры коржей ограничены количеством теста: его хватит на изготовление коржей, суммарная площадь которых не превышает S.

Кроме этого, есть робот-кондитер, который покрывает каравай мармеладками по строго заданной схеме, в которой одна мармеладка - это точка с координатами (x, y). Мармеладки могут располагаться друг на друге, на границах коржей, а могут вообще не лежать в области каравая.

Известно, что центр каравая находится в точке (0,0). Все коржи имеют общий центр.

Требуется написать программу, которая подберёт радиусы коржей таким образом, чтобы на верхний корж вместилось максимально возможное количество мармеладок, и выведет это количество.

Формат входного файла

Первая строка входных данных содержит 2 вещественных числа: S, d.

Вторая строка входных данных содержит количество мармеладок: N.

В следующих N строках содержатся по 2 вещественных числа: x, y - координаты мармеладки.

Вещественные числа содержат не более 4 знаков после запятой

Формат выходного файла

Выходные данные должны содержать единственное число - максимальное количество мармеладок, которое может располагаться на верхнем корже.

Если коржи слепить не представляется возможным - ответом является -1

Ограничения

1.0 ≤ S ≤ 109

1.0 ≤ d ≤ 103

109 ≤ x, y ≤ 109

1 ≤ N ≤ 105

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
100.0 2.0
3
0.1 0.1
0.2 0.2
0.6 0.6
2
2
100.0 40.0
1
1.5 1.5
-1

0.037s 0.008s 15