Двое играют в следующую игру. На плоскости задано 2·n точек своими координатами (xi, yi). Каждый игрок по очереди красит точку своим цветом (первый белым, второй чёрным). Когда все точки будут покрашены (каждый из игроков сделает n ходов), производится подсчёт очков. Каждый игрок получает такое количество очков (действительное число), которое равно суммарному попарному расстоянию между закрашенными его цветом точками. Побеждает тот, кто наберёт большее количество очков. Считая, что игроки ведут игру оптимальным образом, вывести разницу между числом очков победителя и проигравшего игрока.
Исходные данные
Входные данные состоят из нескольких тестов. Первая строка каждого теста содержит положительное целое число n (n ≤ 500). Следующие 2·n строк содержат координаты точек (x1, y1), (x2, y2), …, (x2n, y2n).
Результат
Для каждого теста выведите разницу между числом очков победителя и проигравшего. Разницу очков следует выводить с тремя знаками после десятичной точки.
Пример
исходные данные | результат |
---|
2
0 0
0 1
1 0
1 1
2
0 0
1 0
0 3
1 5
| 0.000
1.937
|
Автор задачи: Михаил Медведев
Источник задачи: Всеукраинская студенческая олимпиада по программированию 2006