#P1625. 两个闹钟

两个闹钟

题目描述

有两个闹钟,第一个闹钟第一次响铃在 aa 时刻,接下来它每过 pp 个单位时间就会响一次铃。第二个闹钟第一次响铃在 bb 时刻,接下来它每过 qq 个单位时间就会响一次铃。请求出这两个闹钟第一次同时响铃的时刻。

输入格式

第一行:两个整数分别表示 aabb

第二行:两个整数分别表示 ppqq

输出格式

如果两个闹钟永远不可能同时响铃,输出 Impossible

否则,输出它们第一次同时响铃的时刻。

数据范围

对于30% 30\% 的数据,1a,b,p,q1,0001\leq a,b,p,q\leq 1,000

对于60% 60\% 的数据,1a,b,p,q1,000,0001\leq a,b,p,q\leq 1,000,000

对于 100%100\% 的数据,1a,b,p,q1,000,000,0001\leq a,b,p,q\leq 1,000,000,000

样例

1 4
2 3
7

样例解释

第一个闹钟响铃的时刻为1,3,5,7

第二个闹钟响铃的时刻为4,7

1 2
2 2
Impossible

样例解释

第一个闹钟在奇数时刻响铃,第二个闹钟在偶数时刻响铃,永远不相交

1 10
1 3
10

样例解释

第一个闹钟每分钟都响铃,同时响铃的时刻就是第二个闹钟第一次响铃的时刻

限制

1s, 512MB 每组测试数据

来源

上海市计算机学会竞赛平台 2022年5月月赛