COCI '16 Contest 7 #5 Paralelogrami

View as PDF

Submit solution


Points: 17 (partial)
Time limit: 1.0s
Memory limit: 64M

Problem types

Recently, a new popular computer game has appeared, called "Parallelograms". In the beginning of the game, the computer draws N points on the screen whose coordinates are integers between -10 and 10 (inclusive).

The only allowed move in the game is to take 3 non-collinear points A, B, C, and move point C to point D such that ACBD is a parallelogram whose one diagonal is segment AB. Notice that such point D always exists and is unique.

In the beginning, all points are different, but during the game it is allowed for two or more points to have identical coordinates. Additionally, all newly created points' coordinates must be at most 10^9 in absolute value.

The aim of the game is to, using a series of moves, bring all points to the first quadrant. More precisely, at the end of the game, all points must have non-negative coordinates. Find a series of moves, consisting of at most 2\,500 moves, that brings all points to the first quadrant, or determine that such a series of moves does not exist.

Input Specification

The first line of input contains the number N from the task (3 \le N \le 400).

The i^\text{th} of the following N lines contains coordinates of the i^\text{th} point X_i, Y_i (-10 \le X_i, Y_i \le 10). In the beginning, no two points have identical coordinates.

Output Specification

If the solution does not exist, the first and only line of output must contain -1.

Otherwise, the first line of output must contain the number of moves M (0 \le M \le 2\,500).

Each of the following M lines must contain 3 different numbers A, B, C (1 \le A, B, C \le N) that denote the indices of the points involved in the move.

The point with index C changes according to the described rule, and points with indices A and B do not change.

Sample Input 1

3
0 0
4 0
3 -1

Sample Output 1

1
1 2 3

Sample Input 2

4
5 0
0 5
-2 -2
-3 2

Sample Output 2

2
1 2 3
1 2 4

Sample Input 3

3
-1 -1
-2 -2
-3 -3

Sample Output 3

-1

Comments

There are no comments at the moment.