Паук Паркер
Ограничения: время – 2s/4s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Скоро будет областной этап соревновании по построению паутинных сетей. В соревновании дается `N` точек на плоскости, выигрывает тот, кто быстрее других соединит каждые две точки нитью.
Паук Паркер очень хочет выиграть это соревнование, для этого ему надо двигаться быстро. Чтобы двигаться быстро он не должен таскать с собой лишнюю долю нити. Помогите Паркеру узнать длину нити, которую он должен принести с собой на соревнование.
Чтобы соединить точки `(x_1,\ y_1)` и `(x_2,\ y_2)`, ему понадобиться нить с длиной `|x_1\ -\ x_2|\ +\ |y_1\ -\ y_2|`. Так как длина может быть очень большой, выводите остаток от ее деления на `10^9\ +\ 7`.
Первая строка содержит целое число `N` — количество точек на плоскости (`1\ ≤\ N\ ≤\ 200000`). В следующих `N` строках содержатся по два целых числа `x_i`, `y_i` — кординаты точек на плоскости (`-10^9\ ≤\ x_i,\ y_i\ ≤\ 10^9`).
Выведите единственное целое число — ответ к задаче.
Пример ввода 1
3
1 1
2 2
3 3
Пример ввода 2
4
-1 5
1 6
3 5
2 3
`8\ =\ (|1\ -\ 2|\ +\ |1\ -\ 2|)\ +\ (|1\ -\ 3|\ +\ |1\ -\ 3|)\ +\ (|2\ -\ 3|\ +\ |2\ -\ 3|)`
Источник: 3-й этап Республиканской олимпиады по информатике 2013, Казахстан