Нещодавно Вася придбав нову шафу-купе. Виявилося, що в ній рівно однакових секцій та дверей, розташованих у ряди. Кожні двері збігаються за розміром із секцією, тобто одні двері закривають рівно одну секцію. Це здалося Васі дуже дивним, і він задався ще більш дивним питанням: «Скільки потрібно зробити дій, щоб усі заповнені секції були закриті, а інші – відкриті?». За одну дію Вася може посунути будь-яку з дверей уліво чи вправо на секцію, якщо відповідна позиція в даному ряді вільна. Секція вважається закритою, якщо її закриває щонайменше одна з дверей, та відкритою в іншому випадку.

Напишіть програму, яка за початковим розміщенням дверей і за даними про те, які з секцій заповнені, знайде мінімальну кількість дій, за яку Вася зможе зробити всі заповнені секції закритими, а інші – відкритими.
У першому рядку вхідних даних записано єдине натуральне число (P \leq 3) – кількість наборів вхідних даних. Кожен із наборів задано чотирма рядками. У першому з них записані числа та (1 \leq N \leq 200,\ 0 \leq M \leq 2N) – кількість секцій і кількість дверей відповідно. У наступних двох рядках записано по чисел, кожне з яких означає, чи присутні двері на даній позиції ( – ні, – так). В останньому для даного набору рядку знаходяться чисел, кожне з яких означає, чи заповнена відповідна секція ( – ні, – так).
Виведіть чисел – мінімальну кількість дій Васі для кожного з наборів вхідних даних. Якщо в окремому наборі цільового розташування досягти неможливо, то для цього набору виведіть .
Приклад 1
Додатково виконуються такі умови:
тестів: N \leq 5
тестів: у другому ряді немає дверей
тестів: N \leq 50, у другому ряді максимум двоє дверей
тестів: N \leq 50