낙서

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

모눈종이 위에 낙서를 합니다. 낙서는 가장 왼쪽 위 칸인 (0, 0)에서 시작하며, 어떤 칸을 방문할 때마다 그 칸에 X를 적습니다.

(0, 0)에 X를 적은 뒤에는 오른쪽 아래 대각선 방향으로 한 칸 이동하여 (1, 1)로 가서 다시 X를 적습니다. 이렇게 대각선으로 계속 이동하다가 종이의 경계에 닿으면, 닿은 쪽(가로 또는 세로)의 진행 방향만 반대로 바꾸어 계속 나아갑니다. 가로와 세로 경계가 만나는 모퉁이에 닿으면 두 방향이 모두 반대로 바뀝니다. 이 과정을 다시 시작점 (0, 0)으로 처음 되돌아올 때까지 반복합니다.

종이의 크기가 주어졌을 때, X가 적힌 서로 다른 칸의 개수를 구하는 프로그램을 작성하세요.

입력

첫째 줄에 테스트 케이스의 개수 $n$ ($1 \le n \le 4000$)이 주어집니다.

이어지는 각 줄에는 모눈종이의 높이와 너비(칸의 개수)를 나타내는 두 자연수가 공백으로 구분되어 주어집니다. 두 값은 모두 $2$ 이상 $20000$ 이하입니다.

출력

각 테스트 케이스마다 X가 적힌 서로 다른 칸의 개수를 한 줄에 하나씩 출력합니다.