MULTINUM

  • Многоугольные числа
    MULTINUM

Описание
Широко известны так называемые "треугольные" числа: 1, 3, 6, 10, и т.д. Однако понятие этих чисел можно обобщить
.

Возьмем правильный N-угольник со сторонами длины 1. Зафиксируем один из его углов. Далее будем строить правильные N-угольники, подобные исходному с коэффициентами 2, 3, 4 и т.д. Стороны этих многоугольников разметим отрезками длины 1, и между каждыми двумя соседними отрезками поставим точку (в том числе, в вершинах). На прилагаемом рисунке приведен пример для пятиугольника.

Подсчитывая сумму точек, находящихся на сторонах и внутри очередного многоугольника, получаем очередное "многоугольное" число. Считая единицу N-угольным числом для произвольного N, из рисунка получаем такое начало последовательности 5-угольных чисел: 1, 5, 12, 22, 35, 51, ...

Задача
Составить программу MULTINUM, которая по заданным M, N и некоторому диапазону отыщет все числа в этом диапазоне, которые одновременно являются M-угольными, и N-угольными


Формат входных данных

В первой строке указаны числа M, N (каждое из которых целое от 3 до 500), разделенные одним или несколькими пробелами. Во второй строке указаны границы диапазона D1, D2 (целые от 1 до 109. Гарантируется, что D1<D2), также разделенные одним или несколькими пробелами

Формат выходных данных
Программа должна вывести набор целых чисел, лежащих в указанном диапазоне и являющихся одновременно M-угольными и N-угольными. Числа в наборе должны быть упорядочены по убыванию и не должны повторяться


Например:


MULTINUM.DAT
3 4
1 2000

MULTINUM.SOL
1225 36 1