Chess
题号:NC310429
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}小苯的象有无穷无尽的力量。

\hspace{15pt}小苯拿到了一个 n \times m 的棋盘,他可以在任意一个位置摆放一个象,并在之后跳任意步。他想知道,最优策略下,他的象最多可以位于多少种不同的位置?

\hspace{15pt}象能移动到的位置如下图所示:
        

输入描述:

\hspace{15pt}每个测试文件均包含多组测试数据。第一行输入一个整数 T\ (1\leqq T\leqq 10^4) 代表数据组数,每组测试数据描述如下:

\hspace{15pt}一行两个正整数 n, m\ (1 \leqq n, m \leqq 10^9),表示棋盘的大小。

输出描述:

对于每组测试数据:

\hspace{15pt}在单独的一行输出一个正整数,表示 "象" 能到达的不同位置的个数最大值。
示例1

输入

复制
2
1 1
3 3

输出

复制
1
2

说明

\hspace{15pt}对于第一组测试数据,显然只能到起点这一个点。

\hspace{15pt}对于第二组测试数据,我们可以将象放在左上角,象可以一步跳到右下角,因此可以到达两个点。