欢迎来到 Kickshot 锦标赛,这是久负盛名的国际台球锦标赛(ICPC)的一部分!今年是一个特殊的年份,因为主办方决定在虚拟世界中举办比赛,而不是在现实生活中!
你正在一张大小为 $(R - 1) \times (C - 1)$ 的矩形台球桌上进行比赛。桌上的每个格点处都放置有一枚虚拟硬币,总共形成 $R \times C$ 枚硬币。坐标系采用 1-索引,位于第 1 行第 1 列的硬币位于左下角。行号向上递增,列号向右递增。
球被放置在位于第 $M$ 行第 $N$ 列的硬币上,并以右上方向 $45^\circ$ 的完美角度射出。最初,球每毫秒向上(朝行号增大的方向)移动一个单位,向右(朝列号增大的方向)移动一个单位。当球撞击顶部或底部边缘时,其垂直方向会反转;当球撞击左侧或右侧边缘时,其水平方向会反转。过程中没有能量损失——球会完美地持续反弹,直到落入四个角袋中的任意一个。
每当球经过一枚硬币时,该硬币会立即从桌面上消失。收集硬币不会影响球的轨迹。位于第 $M$ 行第 $N$ 列的硬币在射出时会被立即收集。过程持续进行,直到球到达某个角袋,此时球最终停止。
你的任务是确定球总共收集了多少枚硬币,包括起始位置的硬币和最终落入角袋时的硬币。
输入格式
第一行包含一个整数 $t$ ($1 \le t \le 10^5$),表示测试用例的数量。
对于每个测试用例,包含一行四个整数 $M$、$N$、$R$ 和 $C$ ($3 \le R, C \le 10^9, 1 \le M < R, 1 \le N < C, (M, N) \neq (1, 1)$),表示球的起始位置和台球桌的大小。
输出格式
对于每个测试用例,输出一行,包含一个整数 $X$,表示球收集的硬币总数。如果球永远无法到达任何一个角袋,则输出 $-1$。
样例
输入 1
3 3 4 6 8 2 3 6 7 4 3 7 10
输出 1
17 5 -1
说明
第一个测试用例可以可视化如下:
