eolymp
bolt
Try our new interface for solving problems
Problems

Спирограф

Спирограф

Спирограф -- детская игрушка, состоит из пластмассовой пластины с вырезанными кругами разных диаметров и набора колёс меньшего диаметра с отверстиями. Края кругов и колёс зубчатые, чтобы предотвратить проскальзывание. Пластина прикладывается к листу бумаги, внутрь выбранного кругового отверстия помещается одно из зубчатых колёс, в одно из отверстий которого вставляется пишущий элемент. Затем зубчатое колесо приводится в движение и пишущий элемент оставляет на бумаге красивый спиральный след. Рассмотрим более общую ситуацию. Будем считать, что радиус большого круга \textbf{rB}, радиус маленького \textbf{rM}, а пишущий элемент жестко закрепляется на расстоянии \textbf{L} от центра маленького круга, поэтому при вращении маленького круга он вращается вместе с ним. Начальное расположение элементов: маленький круг касается большого в точке \[\textbf{rB}, \textbf{0}\] (если принять за начало координат центр большого круга). Пишущий элемент расположен в точке \[\textbf{rB}-\textbf{rM}+\textbf{L}, \textbf{0}\]. После начала вращения маленького круга внутри большого, в некоторый момент времени все элементы вернутся в начальное состояние. При этом будет нарисована фигура, имеющая некоторое количество "лепестков" (например, на рисунке показана процедура рисования фигуры с пятью "лепестками" и параметрами:\textbf{ rB} = \textbf{5}, \textbf{rM} =\textbf{3}, \textbf{L} = \textbf{4}). \includegraphics{https://static.e-olymp.com/content/2f/2f5497b78091904d7149cf7e2795ffb18280819a.jpg} Требуется по заданному количеству "лепестков" \textbf{N} определить количество уникальных пар целочисленных радиусов \textbf{rB}, \textbf{rM} (\textbf{rM} < \textbf{rB}), позволяющих нарисовать фигуру с требуемым количеством "лепестков", причем \textbf{rB} не должен превышать заданное число \textbf{rMax}. \InputFile Входной файл содержит два целых числа \textbf{N} и \textbf{rMax}, разделенных пробелом -- количество "лепестков" и максимальный радиус большого круга (\textbf{2} ≤ \textbf{N} ≤ \textbf{10^6}, \textbf{1} ≤ \textbf{rMax} ≤ \textbf{10^9}). \OutputFile Выходной файл должен содержать одно целое число -- количество уникальных пар целочисленных радиусов, дающих заданное количество "лепестков", у которых радиус большого круга не превышает \textbf{rMax}. Если ни одну фигуру с заданными параметрами нарисовать невозможно, то вывести \textbf{0}.
Time limit 2.5 seconds
Memory limit 16 MiB
Input example #1
5 10
Output example #1
8
Source Региональная олимпиада по программированию, СибГИУ, 2011