Квадрат
Дано квадрат на [0, 1]×[0, 1], в якому розміщено N точок (P_1, P_2, ..., P_N) (можна припустити, що різні точки можуть займати одну й ту ж позицію). Ми можемо з'єднати N точок і чотири кути квадрата відрізками так, щоб через ці відрізки будь-які дві з N+4 точок могли досягти одна одну (безпосередньо або опосередковано). Довжина графа визначається як загальна довжина цих відрізків. Коли позиції N точок фіксовані, існує спосіб їх з'єднання, який забезпечує найменшу довжину графа. Ми можемо позначити цю довжину як LEN (P_1, P_2, ..., P_N).
У цій ситуації LEN (P_1, P_2, ..., P_N) є функцією від P_1, P_2, ..., P_N. Коли P_1, P_2, ..., P_N змінюють свої позиції, LEN (P_1, P_2, ..., P_N) також змінюється. Легко довести, що існують такі P_1', P_2', ..., P_N' в квадраті, що LEN (P_1', P_2', ..., P_N') є мінімальною.
Знаючи початкові позиції N точок, ваше завдання - знайти N точок P_1", P_2", ..., P_N" в квадраті такі, що |P_1P_1"| + |P_2P_2"| + ... + |P_NP_N"| є мінімальним і LEN (P_1", P_2", ..., P_N") = LEN (P_1', P_2', ..., P_N'). Вам потрібно вивести значення |P_1P_1"| + |P_2P_2"| + ... + |P_NP_N"|, де |P_iP_i"| - це відстань між P_i та P_i".
Наприклад, на Рисунку-1 показано початкову позицію P_1 і спосіб з'єднання для отримання LEN (P_1). На Рисунку-2 показано позицію P_1", яка знаходиться в центрі квадрата, і спосіб з'єднання для отримання LEN (P_1"). Можна довести, що LEN (P_1") = LEN (P_1'); ваше завдання - вивести відстань між P_1 та P_1".
Вхідні дані
Вхід складається з кількох тестових випадків. Для кожного тестового випадку перший рядок містить одне ціле число N (1 ≤ N ≤ 100), кількість точок, і далі йдуть N рядків, які задають координати кожної точки у наступному форматі:
x y
Тут x та y - дійсні числа в межах [0, 1].
Тестовий випадок з N = 0 вказує на кінець введення і не повинен оброблятися.
Вихідні дані
Для кожного тестового випадку виведіть значення |P_1P_1"| + |P_2P_2"| + ... + |P_NP_N"|. Значення повинно бути округлене до трьох знаків після коми.