На площині розташовано ланцюг із кількох кіл. Перше (і останнє) коло ланцюга перетинається лише з наступним (попереднім) колом, а кожне проміжне коло — лише з двома сусідніми.
Ваше завдання — знайти найкоротший шлях, що задовольняє наступним умовам:
Шлях з'єднує центри першого та останнього кіл.
Шлях залишається в межах ланцюга, тобто всі точки шляху перебувають всередині або на хоча б одному з кіл.
На рисунку 1 показано приклад такого ланцюга та відповідний найкоротший шлях.

Рисунок 1: Приклад ланцюга та відповідний найкоротший шлях
Вхід складається з кількох наборів. Кожен набір описує кола ланцюга у такому форматі:
У першому рядку задано ціле число (3 \leq n \leq 100) — кількість кіл. Кожен з наступних рядків містить три цілих числа x_i, y_i та r_i, розділених пробілами, що описують координати центра і радіус -го кола C_i. Гарантується, що 0 \leq x_i \leq 1000, 0 \leq y_i \leq 1000, 1 \leq r_i \leq 25.
Гарантується, що C_i і C_{i+1} (1 \leq i \leq n-1) перетинаються у двох різних точках. Для j \geq i+2 кола C_i і C_j не перетинаються і жодне не містить інше. Крім того, жодне коло не містить центр іншого.
Кінець введення позначається рядком, що містить один нуль.
Рисунок 1 відповідає першому набору з прикладу нижче. На рисунку 2 зображено найкоротші шляхи для наступних наборів.

Рисунок 2: Більше прикладів ланцюгів та найкоротших шляхів
Для кожного набору виведіть єдиний рядок із довжиною найкоротшого шляху, обмеженого ланцюгом, між центрами першого та останнього кіл. Відповідь повинна бути з похибкою не більше . У виводі не повинно бути зайвих символів.
Приклад 1