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

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

  • $$$a \gets a + 1$$$. Стоимость этой операции составляет $$$x$$$;
  • $$$a \gets a \oplus 1$$$, где $$$\oplus$$$ обозначает побитовую операцию XOR. Стоимость этой операции составляет $$$y$$$.

В результате применения операций вам нужно получить $$$a = b$$$. Если это возможно, выведите минимальную стоимость; в противном случае сообщите о невозможности.

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

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

Единственная строка каждого набора входных данных содержит четыре целых числа $$$a, b, x, y$$$ ($$$1 \le a, b \le 100, 1 \le x, y \le 10^7$$$) — два данных вам числа и стоимости двух типов операций.

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

Для каждого набора входных данных выведите целое число — минимальную стоимость, чтобы сделать $$$a = b$$$, или $$$-1$$$, если это невозможно.

Пример
Входные данные
7
1 4 1 2
1 5 2 1
3 2 2 1
1 3 2 1
2 1 1 2
3 1 1 2
1 100 10000000 10000000
Выходные данные
3
6
1
3
-1
-1
990000000
Примечание

В первом наборе входных данных оптимальная стратегия заключается в том, чтобы применить $$$a \gets a + 1$$$ три раза. Общая стоимость составляет $$$1+1+1=3$$$.

Во втором наборе входных данных оптимальная стратегия заключается в том, чтобы применить $$$a \gets a + 1$$$, $$$a \gets a \oplus 1$$$, $$$a \gets a + 1$$$, $$$a \gets a \oplus 1$$$ в указанном порядке. Общая стоимость составляет $$$2+1+2+1=6$$$.

В пятом наборе входных данных можно доказать, что нет способа сделать $$$a = b$$$.