A. Абонент временно недоступен
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Поликарп живет на координатной оси $$$Ox$$$ и путешествует из точки $$$x=a$$$ в $$$x=b$$$. Он двигается равномерно прямолинейно со скоростью одна единица расстояния в минуту.

На оси $$$Ox$$$ в точке $$$x=c$$$ находится базовая станция оператора сотовой связи. Известно, что радиус её покрытия составляет $$$r$$$. Таким образом, если абонент находится на расстоянии меньшем или равном $$$r$$$ от точки $$$x=c$$$, то он находится в зоне покрытия сети, иначе — нет. Базовая станция может находится как на пути следования Поликарпа, так и вне его.

Выведите время в минутах, в течение которого Поликарп не будет находится в зоне покрытия сети, при прямолинейном равномерном движении из $$$x=a$$$ в $$$x=b$$$. Его скорость движения — одна единица расстояния в минуту.

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

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

Описание каждого набора входных данных составляет одну строку, которая содержит четыре целых числа $$$a$$$, $$$b$$$, $$$c$$$ и $$$r$$$ ($$$-10^8 \le a,b,c \le 10^8$$$, $$$0 \le r \le 10^8$$$) — координаты начальной и конечной точки пути, базовой станции и её радиус покрытия, соответственно.

Любые из чисел $$$a$$$, $$$b$$$ и $$$c$$$ могут совпадать (как любая пара, так и даже все три числа). Базовая станция может находится как на пути следования Поликарпа, так и вне его.

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

Выведите $$$t$$$ чисел — ответы на заданные наборы входных данных в порядке их записи в тесте. Каждый ответ является целым числом — количество минут, в течение которых Поликарп будет недоступен по сотовому телефону во время своего движения.

Пример
Входные данные
9
1 10 7 1
3 3 3 0
8 2 10 4
8 2 10 100
-10 20 -17 2
-3 2 2 0
-3 1 2 0
2 3 2 3
-1 3 -2 2
Выходные данные
7
0
4
0
30
5
4
0
3
Примечание

Следующая картинка иллюстрирует первый набор входных данных примера.

Поликарп идёт из $$$1$$$ в $$$10$$$. Желтая область показывает зону покрытия вышки радиуса покрытия $$$1$$$, которая расположена в точке $$$7$$$. Зеленая область показывает ту часть пути, когда Поликарп находится вне зоны покрытия.