You are given a set of *n* points on the plane. A line containing the origin is called good, if projection of the given set to this line forms a symmetric multiset of points. Find the total number of good lines.

Multiset is a set where equal elements are allowed.

Multiset is called symmetric, if there is a point *P* on the plane such that the multiset is [centrally symmetric](https://en.wikipedia.org/wiki/Point_reflection) in respect of point *P*.
The first line contains a single integer *n* (1 ≤ *n* ≤ 2000) — the number of points in the set.

Each of the next *n* lines contains two integers *x*<sub class="lower-index">*i*</sub> and *y*<sub class="lower-index">*i*</sub> ( - 10<sup class="upper-index">6</sup>  ≤  *x*<sub class="lower-index">*i*</sub>,  *y*<sub class="lower-index">*i*</sub>  ≤  10<sup class="upper-index">6</sup>) — the coordinates of the points. It is guaranteed that no two points coincide.
Picture to the first sample test:

<img class="tex-graphics" src="https://espresso.codeforces.com/eedc60313be8684bd6169b8b23f0f0afd92479a8.png" style="max-width: 100.0%;max-height: 100.0%;"/> 

In the second sample, any line containing the origin is good.
print("_RANDOM_GUESS_1689336259.0664608")# 1689336259.066495