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

printЗадачи

1975. Замощение

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

Конструктор Клапауций решил замостить свой прямоугольный дворик плиткой. Для замощения Клапауций приготовил квадратные плитки двух разных размеров. При мощении плитки не должны накладываться друг на друга, выходить за пределы дворика, и не должно остаться незамощенных мест. Кроме того, Клапауций хотел бы как можно меньше использовать плитки первого типа, так как ему не нравится их цвет.
Напишите программу, которая определяет, возможно ли замощение двора плитками двух заданных размеров, и, если возможно, то какое количество плиток каждого размера следует взять.
Во входном файле в первой строке содержится четыре целых числа, разделенных пробелами: размеры дворика `W` и `H` в сантиметрах (`1\ ≤\ W\ ≤\ 10^5`, `1\ ≤\ H\ ≤\ 10^5`) и размеры плиток `R_1` и `R_2` в сантиметрах (`1\ ≤\ R_1\ ≤\ 1000`, `1\ ≤\ R_2\ ≤\ 1000`).
В выходной файл в первой строке вывести два целых числа, разделенных пробелом – количество плиток размером `R_1` и количество плиток размером `R_2`, которые потребуются для замощения дворика. Количество плиток первого типа должно быть минимальным. Если замощение невозможно, то нужно вывести сообщение IMPOSSIBLE.

Пример ввода

7 4 1 2

Вывод для примера

4 6
loading