Нассер надає вам масив з цілих чисел та ціле число .
За одну операцію ви можете вибрати суцільний підмасив, де всі елементи мають одну і ту ж парність (всі парні або всі непарні), і збільшити всі елементи в цьому підмасиві на .
use bit tree
Ваше завдання полягає в тому, щоб знайти мінімальну кількість операцій, необхідних для того, щоб усі елементи стали рівними . Якщо це неможливо, поверніть .
Перший рядок містить одне ціле число (1 \le t \le 10^4) — кількість тестів.
Перший рядок кожного тесту містить два цілих числа (1 \le n \le 2 \cdot 10^5, 1 \le x \le 10^9) — розмір масиву та цільове значення.
Другий рядок містить цілих чисел a_1, a_2, \ldots, a_n (1 \le a_i \le 10^9) — елементи масиву.
Гарантується, що сума всіх по всім тестам не перевищує 2 \cdot 10^5.
Для кожного тесту виведіть одне ціле число — мінімальну кількість операцій або , якщо зробити всі елементи рівними неможливо.
Приклад 1
У першому тестовому випадку a=[1,3,2] та x=4.
Збільшимо a_1 двічі: [1,3,2] \to [2,3,2] \to [3,3,2]
Збільшимо a_3 один раз: [3,3,2] \to [3,3,3]
Збільшуємо увесь масив (все непарні): [3,3,3] \to [4,4,4]
Разом: 4 операції
Підзадача ( балів) : (1 \le \sum n \le 10)
Підзадача ( балів) : (1 \le \sum n \le 100,1 \le x \le 10^{6})
Підзадача ( балів) : (1 \le \sum n \le 5000,1 \le x \le 10^{9})
Підзадача ( балів) : Без додаткових обмежень.