Квадрат
Дан квадрат с координатами [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. При изменении этих позиций изменяется и значение LEN. Можно доказать, что существуют такие точки P_1', P_2', ..., P_N' в квадрате, что LEN (P_1', P_2', ..., P_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"|. Значение должно быть округлено до трех знаков после запятой.