printРабочее место участника

printЗадачи

65. Двойная решётка

Ограничения: время – 1s/2s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Две бесконечные равномерные прямоугольные решётки заданы размерами ячеек `x_1\ times\ y_1` и `x_2\ times\ y_2`. Решётки расположены на плоскости параллельно друг другу и координатным осям так, что смещение одного из узлов второй решётки относительно узла первой составляет `D_x` по горизонтали и `D_y` по вертикали. В результате наложения образуется новая, "составная" решётка с более мелкими ячейками различного размера. Требуется вывести в порядке возрастания все различные площади ячеек составной решётки.
Ограничения: `1\ ≤\ x_1,\ y_1,\ x_2,\ y_2\ ≤\ 100`, `0\ ≤\ D_x\ <\ x_1`, `0\ ≤\ D_y\ <\ y_1`, все числа целые.
Ввод
В первой строке находятся числа `x_1`, `y_1`, `x_2`, `y_2`, `D_x`, `D_y`, разделённые пробелами.
Вывод
В первой строке вывести `N` – количество получившихся площадей, в следующих `N` строках – сами площади.

Пример ввода

20 20 12 10 2 0

Пример вывода

4
20
60
100
120
Источник: Far-Eastern quarterfinal NEERC, 1999
loading