У Василия есть два числа \(a\) и \(b\), изначально равные нулю. Василий очень быстро научился делать с ними три различные операции. Перед выполнением каждой операции выбирается некоторое целое положительное число \(k\), с помощью которого производится одна из операций: (обратите внимание, что для каждой операции вы можете выбрать новое число \(k\))
- прибавить к \(a\) и \(b\) число \(k\), или
- прибавить к \(a\) число \(k\) и отнять от \(b\) число \(k\), или
- прибавить к \(b\) число \(k\) и отнять от \(a\) число \(k\).
Обратите внимание, что в результате выполнения операций, числа \(a\) и \(b\) могут становиться в том числе отрицательными.
Василий хочет узнать, какое минимальное количество операций ему потребуется совершить, чтобы число \(a\) стало равно числу \(c\), а число \(b\) стало равно \(d\).
Выходные данные
Для каждого набора входных данных выведите одно целое число — минимальное количество операций, которое потребуется Василию, чтобы число \(a\) стало равно \(c\), а \(b\) равно \(d\), или \(-1\), если невозможно добиться равенств, используя описанные операции.
Примечание
Продемонстрируем один из неоптимальных примеров получения пары чисел \((3, 5)\).
- Используем операцию первого типа с \(k=1\), тогда текущая пара чисел будет равна \((1, 1)\).
- Используем операцию третьего типа с \(k=8\), тогда текущая пара чисел будет равна \((-7, 9)\).
- Используем операцию второго типа с \(k=7\), тогда текущая пара чисел будет равна \((0, 2)\).
- Используем операцию первого типа с \(k=3\), тогда текущая пара чисел будет равна \((3, 5)\).
Примеры
| № | Входные данные | Выходные данные |
|
1
|
6 1 2 3 5 5 3 6 6 8 0 0 0
|
-1
2
2
1
2
0
|