Virtual contest is a way to take part in past contest, as close as possible to participation on time. It is supported only ICPC mode for virtual contests.
If you've seen these problems, a virtual contest is not for you - solve these problems in the archive.
If you just want to solve some problem from a contest, a virtual contest is not for you - solve this problem in the archive.
Never use someone else's code, read the tutorials or communicate with other person during a virtual contest.

No tag edit access

E. Ancient civilizations

time limit per test

0.5 secondsmemory limit per test

256 megabytesinput

standard inputoutput

standard outputOn the surface of a newly discovered planet, which we model by a plane, explorers found remains of two different civilizations in various locations. They would like to learn more about those civilizations and to explore the area they need to build roads between some of locations. But as always, there are some restrictions:

- Every two locations of the same civilization are connected by a unique path of roads
- No two locations from different civilizations may have road between them (explorers don't want to accidentally mix civilizations they are currently exploring)
- Roads must be straight line segments
- Since intersections are expensive to build, they don't want any two roads to intersect (that is, only common point for any two roads may be at some of locations)

Obviously all locations are different points in the plane, but explorers found out one more interesting information that may help you – no three locations lie on the same line!

Help explorers and find a solution for their problem, or report it is impossible.

Input

In the first line, integer $$$n$$$ $$$(1 \leq n \leq 10^3)$$$ - the number of locations discovered.

In next $$$n$$$ lines, three integers $$$x, y, c$$$ $$$(0 \leq x, y \leq 10^4, c \in \{0, 1\})$$$ - coordinates of the location and number of civilization it belongs to.

Output

In first line print number of roads that should be built.

In the following lines print all pairs of locations (their $$$0$$$-based indices) that should be connected with a road.

If it is not possible to build roads such that all restrictions are met, print "Impossible". You should not print the quotation marks.

Example

Input

5

0 0 1

1 0 0

0 1 0

1 1 1

3 2 0

Output

3

1 4

4 2

3 0

Codeforces (c) Copyright 2010-2019 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Oct/18/2019 18:03:10 (f2).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|