Codeforces Round 349 (Div. 1) |
---|
Закончено |
Группа берляндских учёных, с которыми вы имеете тесные деловые отношения, ведут исследования в области мирного атома. В частности, ими было обнаружено, что группа из четырёх наноботов, помещённая на поверхность флеботиновой пластинки, способна запустить мощную цепную реакцию при определённых условиях.
Если быть точным, учёные ввели прямоугольную декартову систему координат на плоской пластинке и определили четыре различные точки с целыми координатами, в которые изначально будут помещены боты. Далее для каждого бота будет выбрано одно из четырёх направлений (вверх, вниз, влево, вправо), параллельных осям координат. После этого каждый бот сдвигается на некоторое целочисленное расстояние (возможно, не одинаковое для разных ботов) вдоль своего направления. Цепная реакция запустится, если в итоге боты окажутся в вершинах квадрата положительной площади со сторонами, параллельными осям координат. В каждой вершине квадрата должен оказаться один нанобот. При этом реакция будет тем сильнее, чем меньшее время боты затратили на перемещение. Можно считать, что боты перемещаются со скоростью единица расстояния в единицу времени. Иначе говоря, реакция тем сильнее, чем меньше максимальный из путей, пройденных ботами.
Учёные заготовили множество пластинок и для каждой из них задали своё начальное положение для ботов. Теперь они просят вас помочь определить для каждой пластинки, куда следует двигаться ботам после «высадки».
В первой строке находится целое число t (1 ≤ t ≤ 50) — количество пластинок.
Далее следуют описания пластинок. Описание каждой пластинки состоит из четырёх строк. В каждой строке находится пара целых числа xi, yi ( - 108 ≤ xi, yi ≤ 108) — координаты очередного бота. Все боты находятся в различных точках.
Обратите внимание, несмотря на то, что в задаче может быть несколько пластинок в одном тесте, взламывать чужие решения вы можете только тестами с одной пластинкой, то есть параметр t во взломе должен быть равен 1.
Для каждой пластинки в первой строке выведите одно целое число. Если учёные совершили досадную ошибку и наноботы не смогут переместиться так, чтобы в итоге образовать искомый квадрат, выведите -1. Иначе выведите минимальную возможную длину самого длинного из путей ботов.
Если решение существует, в последующих четырёх строках выведите по два целых числа — позиции каждого бота после перемещения. Позиции ботов выводите в порядке, в котором они заданы во входных данных.
Если существует несколько решений, можете вывести любое из них.
2
1 1
1 -1
-1 1
-1 -1
1 1
2 2
4 4
6 6
0
1 1
1 -1
-1 1
-1 -1
-1
Название |
---|