Сбор
У жителей Фикции всего было предостаточно! Город становится все больше и больше, и тем более скучным. Фикция состоит только из горизонтальных и вертикальных улиц. Расстояние между каждой парой соседних параллельных улиц всегда одинаковое, мы примем это за единицу расстояния. Неужели некоторые вариации не помешают?
Чтобы привлечь больше поддержки и сделать их несчастье известным муниципалитету, группа граждан согласилась собраться на перекрестке города в знак протеста. Возникает вопрос: какое пересечение? Поскольку между ними нет большой разницы, была выдвинута идея выбрать пересечение (x', y'), которое минимизирует общее расстояние, которое должен пройти каждый. Поскольку все живут близко к перекрестку, индивидуальное расстояние, пройденное кем-то, кто живет в (x, y), составит |x - x'| + |y - y'|.
Однако это может представлять проблему для людей, которые живут далеко, так как им может быть трудно добраться туда вовремя. Поэтому было решено, что пересечение должно быть не более чем на определенном расстоянии d от всех. Учитывая это ограничение, Вам следует помочь определить пересечение, которое минимизирует общее расстояние, которое каждый житель должен совершить.
Входные данные
Состоит из:
строка содержит число n (2 ≤ n ≤ 100000) - количество граждан;
n строк, каждая содержит два целых числа x и y (0 ≤ x, y ≤
10^9
) - координаты дома каждого жителя;строка содержит целое число d (0 ≤ d ≤ 2 *
10^9
) - наибольшее расстояние, которое может пройти каждый житель.
Несколько жителей могут жить на одном перекрестке.
Выходные данные
Выведите одно целое число: минимально возможное общее расстояние, которое все граждане должны пройти. Если пересечения не существует, все живут на расстоянии большем чем d, то выведите "impossible".