问题 E: 吉吉睡过头了

内存限制:1024 MB 时间限制:2.000 S
评测方式:文本比较 命题人:
提交:7 解决:2

题目描述

一列火车在A镇和B镇之间来回运行。它从A镇出发的时间为0,并且按照以下循环进行:
前往B镇,需要X秒;
在B镇停留Y秒;
返回A镇,需要X秒;
在A镇停留Y秒。
更确切地说,这些时间间隔是半开放的,对于每个n=0,1,2,...:
在时间t满足(2X+2Y)n≤t<(2X+2Y)n+X时,火车正在前往B镇;
在时间t满足(2X+2Y)n+X≤t<(2X+2Y)n+X+Y时,火车在B镇停留;
在时间t满足(2X+2Y)n+X+Y≤t<(2X+2Y)n+2X+Y时,火车正在返回A镇;
在时间t满足(2X+2Y)n+2X+Y≤t<(2X+2Y)(n+1)时,火车在A镇停留。
吉吉打算在A镇0时刻乘坐这列火车,并在B镇下车。在出发后,他将按照以下循环进行:
睡觉P秒;
醒来Q秒。
同样,这些时间间隔也是半开放的,对于每个n=0,1,2,...:
在时间t满足(P+Q)n≤t<(P+Q)n+P时,吉吉正在睡觉;
在时间t满足(P+Q)n+P≤t<(P+Q)(n+1)时,吉吉醒来。
如果火车正在B镇停留并且吉吉醒来,他可以在B镇下车。
确定吉吉是否可以在B镇下车。如果可以,找出最早可能的下车时间。
在问题的约束条件下,可以证明最早的时间是一个整数。
给定T个案例,请解决每个案例。

输入

所有输入都是数字
第一行是样例数量T
每个样例包含:
X Y P Q


$1\le T \le 10$
$1\le X \le 10^9$
$1\le Y \le 500$
$1\le P \le 10^9$
$1\le Q \le 500$

输出

请打印T行。
第i行应包含第i个案例的答案。
如果存在一个时间,吉吉可以在B镇下车,那么该行应包含最早的下车时间;否则,该行应包含"infinity"。

样例输入 复制

3
5 2 7 6
1 1 3 1
999999999 1 1000000000 1

样例输出 复制

20
infinity
1000000000999999999