Ankerli Balon
Yerə qoyulmuş bir şar, yerə bərkidilmiş bir və ya daha çox lövbərə iplərlə bağlanmışdır. Hər bir ip, şarı və lövbəri birləşdirmək üçün kifayət qədər uzundur. Heç bir iki ip bir-birini kəsmir. Şəkil 1 belə bir vəziyyəti göstərir.
Şəkil 1: Yerə qoyulmuş bir şar və iplər
İndi şar havaya qalxır və sizin vəzifəniz, ip əlaqələrini saxlayaraq şarın nə qədər yüksək qalxa biləcəyini tapmaqdır. Lövbərlərin mövqeləri sabitdir. İplərin uzunluqları və lövbərlərin mövqeləri verilir. Bu iplərin çəkisi olmadığını və beləliklə, hansı istiqamətə çəkilsə düzləşə biləcəyini qəbul edə bilərsiniz. Şəkil 2 Şəkil 1-də göstərilən vəziyyət üçün şarın ən yüksək mövqeyini göstərir.
Şəkil 2: Şarın ən yüksək mövqeyi
Giriş verilənləri
Giriş bir neçə datasetdən ibarətdir, hər biri aşağıdakı formatda.
n
x_1 y_1 l_1
...
x_n y_n l_n
Bir datasetin ilk sətri, iplərin sayını göstərən n (1 ≤ n ≤ 10) tam ədədini ehtiva edir. Sonrakı n sətrin hər biri, bir boşluqla ayrılmış üç tam ədəd, x_i, y_i və l_i ehtiva edir. P_i = (x_i, y_i) i-ci ipi birləşdirən lövbərin mövqeyini, l_i isə ipin uzunluğunu göstərir. −100 ≤ x_i ≤ 100, −100 ≤ y_i ≤ 100 və 1 ≤ l_i ≤ 300 olduğunu qəbul edə bilərsiniz. Şar əvvəlcə yerə (0, 0) nöqtəsində yerləşdirilir. Şarın və lövbərlərin ölçüsünü nəzərə almaya bilərsiniz.
P_i və P_j fərqli mövqeləri təmsil etdiyini qəbul edə bilərsiniz, əgər i ≠ j. Həmçinin, P_i və (0, 0) arasındakı məsafənin l_i−1-dən kiçik və ya bərabər olduğunu qəbul edə bilərsiniz. Bu, şarın ən azı 1 vahid yüksəkliyə qalxa biləcəyini göstərir.
Şəkil 1 və 2 aşağıdakı Nümunə Girişin ilk datasetinə uyğundur.
Girişin sonu sıfır olan bir sətrlə göstərilir.
Çıxış verilənləri
Hər bir dataset üçün, şarın qalxa biləcəyi maksimum hündürlüyü ehtiva edən bir sətir çıxarın. Dəyərin səhvi 0.00001-dən böyük olmamalıdır. Çıxışda əlavə simvollar olmamalıdır.