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

Задача . A. Мастер перемещений


YunQian стоит на бесконечной плоскости, на которой задана система координат. За один ход она может переместиться на одну клетку по диагонали вправо вверх или на одну клетку налево.

Иными словами, если она стоит в точке \((x,y)\), она может переместиться либо в точку \((x+1,y+1)\), либо в точку \((x-1,y)\).

YunQian изначально стоит в точке \((a,b)\) и хочет переместиться в точку \((c,d)\). Найдите минимальное количество ходов, которое она должна сделать, или скажите, что это невозможно.

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

Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число \(t\) (\(1\le t\le 10^4\)) — количество наборов входных данных. Далее следует описание наборов входных данных.

Единственная строка каждого набора входных данных содержит четыре числа \(a\), \(b\), \(c\), \(d\) (\(-10^8\le a,b,c,d\le 10^8\)).

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

Для каждого набора входных данных, если возможно переместиться из точки \((a,b)\) в точку \((c,d)\), выведите минимальное количество ходов. В противном случае выведите \(-1\).

Примечание

В первом наборе входных данных один из возможных путей с использованием \(4\) ходов: \((-1,0)\to (0,1)\to (-1,1)\to (0,2)\to (-1,2)\). Можно доказать, что невозможно перейти из точки \((-1,0)\) в точку \((-1,2)\) менее чем за \(4\) хода.


Примеры
Входные данныеВыходные данные
1 6
-1 0 -1 2
0 0 4 5
-2 -1 1 1
-3 2 -3 2
2 -1 -1 -1
1 1 0 2
4
6
-1
0
3
3

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

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