Шафа-купе#7886

Шафа-купе

1 секунда
64 мегабайти
Середня

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

z2.jpg

Завдання

Напишіть програму, яка за початковим розміщенням дверей і за даними про те, які з секцій заповнені, знайде мінімальну кількість дій, за яку Вася зможе зробити всі заповнені секції закритими, а інші – відкритими.

Вхідні дані

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

Вихідні дані

Виведіть чисел – мінімальну кількість дій Васі для кожного з наборів вхідних даних. Якщо в окремому наборі цільового розташування досягти неможливо, то для цього набору виведіть .

Приклади

Приклад 1

Loading
Loading

Оцінювання

Додатково виконуються такі умови:

  1. тестів: N \leq 5

  2. тестів: у другому ряді немає дверей

  3. тестів: N \leq 50, у другому ряді максимум двоє дверей

  4. тестів: N \leq 50