You are given set of *n* points in 5-dimensional space. The points are labeled from 1 to *n*. No two points coincide.

We will call point *a* bad if there are different points *b* and *c*, not equal to *a*, from the given set such that angle between vectors and is acute (i.e. strictly less than ). Otherwise, the point is called good.

The angle between vectors and in 5-dimensional space is defined as , where is the scalar product and is length of .

Given the list of points, print the indices of the good points in ascending order.

The first line of input contains a single integer *n* (1 ≤ *n* ≤ 10^{3}) — the number of points.

The next *n* lines of input contain five integers *a*_{i}, *b*_{i}, *c*_{i}, *d*_{i}, *e*_{i} (|*a*_{i}|, |*b*_{i}|, |*c*_{i}|, |*d*_{i}|, |*e*_{i}| ≤ 10^{3}) — the coordinates of the i-th point. All points are distinct.

First, print a single integer *k* — the number of good points.

Then, print *k* integers, each on their own line — the indices of the good points in ascending order.

Input6

0 0 0 0 0

1 0 0 0 0

0 1 0 0 0

0 0 1 0 0

0 0 0 1 0

0 0 0 0 1Output1

1Input3

0 0 1 2 0

0 0 9 2 0

0 0 5 9 0Output0

提交代码