Неподвижные элементы матрицы
Любая матрица A, которая содержит N строк и M столбцов, занимает NxM ячеек в памяти компьютера – как и любая матрица B, которая содержит M строк и N столбцов. Строки нумеруются целыми числами от 0 до N-1, столбцы – целыми числами от 0 до M-1. Матрица сохраняются в памяти компьютера в построчном порядке, который для матрицы A обозначает такую последовательность: A[0,0], A[0,1], ..., A[0,M-1], A[1,0], A[1,1], ..., A[N-1,M-1], так что соседние элементы последовательности занимают соседние ячейки памяти. Скажем, что матрица B – транспонированная A, если B[i,j]=A[j,i] для любых допустимых i и j. Ясно, что когда матрица A транспонируется, может быть помещена на место самой матрицы A. Тогда транспонирование может рассматриваться как перестановка некоторых элементов матрицы A. Также очевидно, что не все элементы матрицы действительно переместятся, некоторые останутся неподвижными. Например, транспонирование любой матрицы оставляет первый элементы первой строки и последний элемент последней строки неподвижным.
Первая строка входного файла содержит целое число T (0<T<100) – количество тестов. Каждая из следующих T строк содержит два целых числа N и M, разделяющихся одним пробелом, размерности матрицы (0<N,M<2147483648). Ваша программа должна вывести T строк – по одному числу на каждой. Число – количество неподвижных элементов соответствующей матрицы.