#T2372. 弹跳球循环(Bouncing Ball Cycle)

弹跳球循环(Bouncing Ball Cycle)

链接: https://cses.fi/problemset/task/3216

板块: Additional Problems II

时限: 1.00 s | 内存: 512 MB

题目描述

在一个 n×mn \times m 网格的左上角有一个球。网格的行编号为 1,2,,n1,2,\dots,n,列编号为 1,2,,m1,2,\dots,m

小球初始沿对角线方向离开左上角运动。每步它移动一个格子。每当小球碰到网格的边界时,就改变方向。

问:经过多少步后,小球会再次回到初始位置?它一共访问了多少个不同的格子?

输入

第一行包含一个整数 tt:测试组数。

之后有 tt 行。每行包含两个整数 nnmm:网格的大小。

输出

对每组测试,输出两个整数:步数,以及访问过的格子数。

数据范围

1t10001 \le t \le 1000 2n,m1092 \le n,m \le 10^9

样例输入

4
3 4
2 2
19 18
42 1337

样例输出

12 6
2 2
612 171
109552 28077