飞象
#描述#
在国际象棋里,象可以沿斜线移动。但是通常,他们的移动被棋盘的边界所限制。现在,我们设想消除这些限制,让象的移动更加自如。<BR>
我们假设,将棋盘的上下边界和左右边界分别相连。也就是说,当象飞过上边界时,他就来到了下边界,当象飞过左边界时,他就来到了右边界,反之亦然。比如,在一个 7 × 10 的棋盘上,与 (4,1) 相邻的格子有 (3,10) , (3,1) , (3,2) , (4,10) , (4,2) , (5,10) , (5,1) , (5,2) ;与 (1,10) 相邻的格子有 (7,9) , (7, 10) , (7,1) , (1,9) , (1,1) , (2,9) , (2,10) , (2,1) 。<BR>
这样一来,象就能一步走到更多的格子。比如 7 × 10 的棋盘上,通过 (2,1) --> (1,10) --> (7,9) 这样的路径,他可以从 (2,1) 一步走到 (7,9);进一步,我们发现,他甚至可以从一个格子到达任何一个格子!<BR>
那么,问题就来了。我们规定,如果象能一步就走到某个格子,那么就说象控制了那个格子。现在,在一个 m × n 的棋盘上,至少需要多少个象,就能控制棋盘上所有格子?
#格式#
##输入格式##
多组测试数据,执行到文件结束。每组数据一行,分别给出两个整数 m 和 n (0 < n, m <= 2×10^9),代表棋盘的规格。
##输出格式##
对于每组数据,在一行中输出一个答案。
#样例1#
##样例输入1##
7 10
2 2
9 3
25 30
##样例输出1##
1
2
3
5
#限制#
1000ms
32768KB
#提示#
#来源#
ycc