Задачі
Час розкладати каміння
Час розкладати каміння
На столі в ряд розміщено \textbf{N} ящиків, кожен з яких або пустий, або містить деквлькв камінчиків. За один хід можна зробити одну з наступних дій:
\begin{itemize}
\item взяти один камінчик з крайнього ящика і перекласти в сусідній,
\item взяти два камінчика з <<некрайнього>> ящика і покласти їх по одному у сусідні з ним ящики.
\end{itemize}
Потрібно визначити, чи можна досягнути таким чином певного розміщення камінчиків у ящиках, і, якщо можна, порахувати мінімальну кількість ходів, які для цього потрібні.
\InputFile
У першому рядку одне натуральне число \textbf{N} -- кількість ящиків, \textbf{2} ≤ \textbf{N} ≤ \textbf{20}.
У другому рядку \textbf{N} цілих невідємних чисел \textbf{a_i} через пропуск, де \textbf{a_i} -- задана кількість камінчиків у \textbf{i}-ому ящику, \textbf{0} ≤ \textbf{a_i} ≤ \textbf{100}. Сума всіх \textbf{a_i} не більша \textbf{100}.
У треттому рядку \textbf{N} цілих невідємних чисел \textbf{b_i} через пропуск, де \textbf{b_i} -- бажана кількість камінчиків у \textbf{i}-ому ящику, \textbf{0} ≤ \textbf{b_i} ≤ \textbf{100}.
\OutputFile
Якщо бажаного розміщення камінчиків досягнути не можна, у першому рядку вивести \textbf{No solution}. Інакше, у першому рядку вивести одне ціле число -- мінімальну кількість ходів, за яку можна досягнути бажаного розміщення.
Вхідні дані #1
3 1 2 3 3 2 1
Вихідні дані #1
6