eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Неподвижные элементы матрицы

Неподвижные элементы матрицы

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