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

Задача . A. Вася и книга


Вася читает электронную книгу из \(n\) страниц, пронумерованных от \(1\) до \(n\). Сейчас он находится на странице с номером \(x\) и хочет попасть на страницу с номером \(y\). За одно действие он может пролистнуть вперед или назад \(d\) страниц, при этом он не может выйти за пределы книги. Например, если в книге \(10\) страниц и \(d = 3\), то с первой страницы Вася может попасть на первую или четвертую, со второй — на первую или пятую страницы, с шестой — на третью или девятую, с восьмой — на десятую или пятую.

Сообщите Васе минимальное количество действий, необходимое для попадания на страницу с номером \(y\).

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

Первая строка содержит целое число \(t\) (\(1 \le t \le 10^3\)) — количество тестовых примеров.

Каждый тестовый пример содержит четыре целых числа \(n\), \(x\), \(y\), \(d\) (\(1\le n, d \le 10^9\), \(1 \le x, y \le n\)) — количество страниц в книге, номер стартовой страницы, номер конечной страницы и количество страниц, которые Вася может пролистнуть за одно действие.

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

Для каждого теста выведите по одной строке.

Если Вася может попасть со страницы \(x\) на страницу \(y\), выведите минимальное количество действий для этого. Иначе выведите \(-1\).

Примечание

В первом тестовом примере оптимальная последовательность выглядит следующим образом: \(4 \rightarrow 2 \rightarrow 1 \rightarrow 3 \rightarrow 5\).

Во втором тестовом примере Вася может попасть на страницы \(1\) и \(5\).

В третьем тестовом примере оптимальная последовательность выглядит следующим образом: \(4 \rightarrow 7 \rightarrow 10 \rightarrow 13 \rightarrow 16 \rightarrow 19\).


Примеры
Входные данныеВыходные данные
1 3
10 4 5 2
5 1 3 4
20 4 19 3
4
-1
5

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

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