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