#P3174. Alignment of the Planets

Alignment of the Planets

Description

Actually, this problem is about alignment of N (1 <= N <= 770) cows numbered 1..N who are grazing in their field that is about 15,000x15,000 units. Their grazing locations all fall on integer coordinates in a standard x,y scheme (coordinates are in the range 0..15,000).

Bessie looks up and notices that she is exactly lined up with Sara and Julie. She wonders how many groups of three aligned cows exist within the field.

Given the locations of all the cows (no two cows occupy the same location), figure out all sets of three cows are exactly collinear. Keep track of the sets, sorting the cows in each set by their ID number, lowest first. Then sort the sets by the three ID numbers (lowest first), breaking ties by examining the second and third ID numbers.

Input

Line 1: A single integer, N

Lines 2..N+1: Line i+1 describes cow i's location with two space-separated integers that are her x and y coordinates

Output

Line 1: A single integer that is the number of sets of three cows that are exactly collinear. A set of four collinear cows would, of course, result in four sets of three collinear cows.

Lines 2..?: Each line contains three space-separated integers that are the cow ID numbers of three collinear cows. The lines are sorted as specified above. This output section is empty if no collinear sets exist.
8
0 0
0 4
1 2
2 4
4 3
4 5
5 1
6 5
1
1 3 4

Hint

Be careful of floating point arithmetic. Floating point comparison for equality almost never works as well as one would hope.

Explanation of the sample:

Eight cows grazing on a grid whose lower left corner looks like this:

. . . . * . *   

* . * . . . .
. . . . * . .
. * . . . . .
. . . . . * .
* . . . . . .

The digits mark the collinear cow IDs:

. . . . * . *   

* . 4 . . . .
. . . . * . .
. 3 . . . . .
. . . . . * .
1 . . . . . .

Source

USACO 2005 December Bronze