Олимпиадный тренинг

Задача . C. Обновление Celex


Задача

Темы: математика *1600

В связи с карантином, у Cайкромофта появилось больше свободного времени для реализации новых функций в «Celex-2021». Разработчики сделали новую функцию GAZ-GIZ, которая от левого верхнего угла бесконечно заполняет бесконечную вправо и вниз таблицу следующим образом:

Клетка с координатами \((x, y)\) находится на пересечение \(x\)-й строки и \(y\)-го столбца. Левая верхняя клетка \((1,1)\) содержит число \(1\).

Разработчики функции SUM тоже не спят. От скуки они сговорились с разработчиками функции RAND, поэтому они добавили возможность посчитать сумму на произвольном пути от одной клетки до другой, передвигаясь вниз или вправо. Формально, из клетки \((x,y)\) за один шаг можно переместиться в клетку \((x+1, y)\) или \((x, y+1)\).

После очередного обновления Dinwows, Левиан решил изучать «Celex-2021» (ведь он хочет стать бухгалтером!). После заполнения таблицы функцией GAZ-GIZ он попросил вас посчитать количество возможных различных сумм на пути от заданной клетки \((x_1, y_1)\) до другой заданной клетки \((x_2, y_2\)), если за один ход вы можете ходить только на одну ячейку вниз или вправо.

Формально, рассмотрим все пути из клетки \((x_1, y_1)\) в клетку \((x_2, y_2)\) такие, что каждая следующая клетка в пути располагается либо справа, либо снизу от предыдущей. Посчитайте количество различных сумм значений элементов для всех таких путей.

Входные данные

Первая строка содержит одно целое число \(t\) (\(1 \le t \le 57179\)) — количество наборов входных данных.

Каждая из следующих \(t\) строк содержит четыре целых положительных числа \(x_1\), \(y_1\), \(x_2\), \(y_2\) (\(1 \le x_1 \le x_2 \le 10^9\), \(1 \le y_1 \le y_2 \le 10^9\)) — координаты стартовой и конечной клеток.

Выходные данные

На каждый набор входных данных в отдельной строке выведите ответ — количество возможных различных сумм на пути от одной клетки до другой.

Примечание

В первом наборе входных данных есть две возможных суммы: \(1+2+5=8\) и \(1+3+5=9\).


Примеры
Входные данныеВыходные данные
1 4
1 1 2 2
1 2 2 4
179 1 179 100000
5 7 5 7
2
3
1
1

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя