Совмещение календарей

Просмотр в формате PDF

Submit solution


Очки: 190
Ограничение по времени: 2.0s
Ограничение по памяти: 256M

Автор:
Problem types
Allowed languages
C++, Python

В одном городе действуют два независимых периодических календаря событий.

  • Первое событие происходит каждые m1 дней. Известно, что ближайшее к началу отсчёта его появление приходится на день с номером a1 по модулю m1, то есть событие случается во все дни x, для которых остаток от деления x на m1 равен a1.
  • Второе событие происходит каждые m2 дней. Его дни определяются аналогично: событие случается во все дни x, для которых остаток от деления x на m2 равен a2.

Гарантируется, что периоды m1 и m2 взаимно просты.

Требуется определить наименьший неотрицательный номер дня, в который оба события произойдут одновременно.

Входные данные

В первой строке заданы два целых числа a1 и m1.

Во второй строке заданы два целых числа a2 и m2.

Выходные данные

Выведите одно целое неотрицательное число — наименьший номер дня, в который оба события происходят одновременно.

Ограничения

  • 0 <= a1 < m1
  • 0 <= a2 < m2
  • 1 <= m1, m2 <= 10^9
  • gcd(m1, m2) = 1

Примеры

Пример 1

Входные данные

1   2
2   3

Выходные данные

5
Пример 2

Входные данные

0   1
0   7

Выходные данные

0

Комментарии

Еще нет ни одного комментария.