Час розкладати каміння
На столі в ряд розміщено N ящиків, кожен з яких або пустий, або містить деквлькв камінчиків. За один хід можна зробити одну з наступних дій:
взяти один камінчик з крайнього ящика і перекласти в сусідній,
взяти два камінчика з «некрайнього» ящика і покласти їх по одному у сусідні з ним ящики.
Потрібно визначити, чи можна досягнути таким чином певного розміщення камінчиків у ящиках, і, якщо можна, порахувати мінімальну кількість ходів, які для цього потрібні.
Вхідні дані
У першому рядку одне натуральне число N – кількість ящиків, 2 ≤ N ≤ 20.
У другому рядку N цілих невідємних чисел a_i через пропуск, де a_i – задана кількість камінчиків у i-ому ящику, 0 ≤ a_i ≤ 100. Сума всіх a_i не більша 100.
У треттому рядку N цілих невідємних чисел b_i через пропуск, де b_i – бажана кількість камінчиків у i-ому ящику, 0 ≤ b_i ≤ 100.
Вихідні дані
Якщо бажаного розміщення камінчиків досягнути не можна, у першому рядку вивести No solution. Інакше, у першому рядку вивести одне ціле число – мінімальну кількість ходів, за яку можна досягнути бажаного розміщення.