E. Древняя цивилизация
ограничение по времени на тест
0.5 секунд
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

На недавно открытой планете первопроходцы нашли разрушенные поселения двух различных цивилизаций в разных местах. Мы будем считать, что все этим места можно представить как точки на плоскости. Они хотят узнать больше об этих цивилизациях, но для изучения местности им нужно построить дороги между некоторыми поселениями. Но, как всегда, есть некоторые ограничения:

  1. между любой парой поселений, относящихся к одной и той же цивилизации, должен быть ровно один путь по построенным дорогам;
  2. никакие два поселения, относящиеся к разным цивилизациям, не должны быть соединены дорогой (первопроходцы не хотят случайно спутать цивилизации, которые изучают);
  3. каждая дорога должна быть отрезком прямой;
  4. так как строить перекрестки слишком дорого, то никакие две дороги не должны пересекаться (то есть общие точки у дорог могут быть только в каком-то из поселений).

Конечно, положения всех поселений различны, но у первопроходцев есть для вас еще одна отличная новость: никакие три поселения не лежат на одной прямой!

Помогите первопроходцами и найдите решение их задачи, либо сообщите, что это невозможно.

Входные данные

Первая строка содержит одно целое число $$$n$$$ $$$(1 \leq n \leq 10^3)$$$ — количество обнаруженных поселений.

Каждая из следующих $$$n$$$ строк содержит три целых числа $$$x, y, c$$$ $$$(0 \leq x, y \leq 10^4, c \in \{0, 1\})$$$ — координаты поселения и номер цивилизации, к которой оно относится.

Выходные данные

В первой строке выведите число дорог, которые необходимо построить.

В следующих строках выведите все пары поселений (нумерация с $$$0$$$), которые должны быть соединены дорогами.

Если невозможно построить дороги так, чтобы выполнялись все условия, выведите «Impossible» (без кавычек).

Пример
Входные данные
5
0 0 1
1 0 0
0 1 0
1 1 1
3 2 0
Выходные данные
3
1 4
4 2
3 0