За квитками на прем'єру нового мюзиклу вишикувалася черга з N осіб, кожен з яких хоче купити 1 квиток. На всю чергу працювала тільки одна каса, тому продаж квитків йшов дуже повільно і це дуже дратувало людей, які стояли у черзі. Найбільш кмітливі швидко помітили, що, як правило, кілька квитків в одні руки касир продає швидше, ніж коли ці ж квитки продаються по одному. Тому вони запропонували декільком людям, які стояли рядом, віддавати гроші першому з них, щоб він купив квитки на всіх.
Однак для боротьби зі спекулянтами касир продавала не більше 3-х квитків в одні руки, тому домовитися таким чином між собою могли лише 2 або 3 людини, які стояли підряд.
Відомо, що на продаж \(i\)-й людині з черги одного квитка касир витрачає \(A_i\) секунд, на продаж двох квитків - \(B_i\) секунд, трьох квитків - \(C_i\) секунд. Напишіть програму, яка підрахує мінімальний час, за який могли би бути обслужені всі покупці.
Зверніть увагу, що квитки на групу об'єднаних людей завжди купує перший з них. Також ніхто з метою прискорення не купує зайвих квитків (тобто квитків, які нікому не потрібні).
Формат вхідних даних
У вхідному потоці записано спочатку число \(N\) - кількість покупців у черзі \((1 ≤ N ≤ 5000)\).
Далі йде \(N\) трійок натуральних чисел \(A_i, B_i, C_i\). Кожне з цих чисел не перевищує 3600. Люди в черзі нумеруються починаючи від каси.
Формат вихідних даних
У вихідний потік виведіть одне число - мінімальний час в секундах, за який могли би бути обслужені всі покупці.
Приклад вхідних даних
5
5 10 15
2 10 15
5 5 5
20 20 1
20 1 1
Приклад вихідних даних
12
Коментарі