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

На главной площади Омска проходит ежегодное мероприятие — ярмарка программистов. Вы, как главный программист Омска, решили поучаствовать в данном прекрасном мероприятии и выдвинулись туда. На входе охранник решил проверить ваши навыки и задал вам задачу:

У вас есть три целых числа $$$a$$$, $$$b$$$, $$$x$$$. Вы хотите сделать $$$a$$$ и $$$b$$$ равными. Для этого вы можете применять следующие операции:

  1. Выбрать одно из чисел $$$a$$$ или $$$b$$$ и прибавить к нему $$$1$$$.
  2. Выбрать одно из чисел $$$a$$$ или $$$b$$$ и разделить его с округлением вниз на $$$x$$$.

Необходимо найти минимальное количество операций, после которых $$$a$$$ станет равным $$$b$$$. Сможете ли вы доказать свои навыки, или вам придется поехать домой?

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

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

Далее следуют $$$t$$$ наборов входных данных.

В единственной строке каждого набора данных дано три целых числа $$$a$$$, $$$b$$$, $$$x$$$ ($$$1 \le a, b \le 10^9$$$, $$$2 \le x \le 10^9$$$).

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

Для каждого набора входных данных выведите целое число, обозначающее минимальное количество операций, необходимых, чтобы сделать $$$a$$$ и $$$b$$$ равными.

Пример
Входные данные
7
1 2 3
2 3 2
7 3 10
17 3 3
10 10 2
4 7 2
1 6 2
Выходные данные
1
1
2
3
0
2
2