There are a set of points *S* on the plane. This set doesn't contain the origin *O*(0, 0), and for each two distinct points in the set *A* and *B*, the triangle *OAB* has strictly positive area.

Consider a set of pairs of points (*P*<sub class="lower-index">1</sub>, *P*<sub class="lower-index">2</sub>), (*P*<sub class="lower-index">3</sub>, *P*<sub class="lower-index">4</sub>), ..., (*P*<sub class="lower-index">2*k* - 1</sub>, *P*<sub class="lower-index">2*k*</sub>). We'll call the set good if and only if:
 -  *k* ≥ 2. -  All *P*<sub class="lower-index">*i*</sub> are distinct, and each *P*<sub class="lower-index">*i*</sub> is an element of *S*. -  For any two pairs (*P*<sub class="lower-index">2*i* - 1</sub>, *P*<sub class="lower-index">2*i*</sub>) and (*P*<sub class="lower-index">2*j* - 1</sub>, *P*<sub class="lower-index">2*j*</sub>), the circumcircles of triangles *OP*<sub class="lower-index">2*i* - 1</sub>*P*<sub class="lower-index">2*j* - 1</sub> and *OP*<sub class="lower-index">2*i*</sub>*P*<sub class="lower-index">2*j*</sub> have a single common point, and the circumcircle of triangles *OP*<sub class="lower-index">2*i* - 1</sub>*P*<sub class="lower-index">2*j*</sub> and *OP*<sub class="lower-index">2*i*</sub>*P*<sub class="lower-index">2*j* - 1</sub> have a single common point. 
Calculate the number of good sets of pairs modulo 1000000007 (10<sup class="upper-index">9</sup> + 7).
The first line contains a single integer *n* (1 ≤ *n* ≤ 1000) — the number of points in *S*. Each of the next *n* lines contains four integers *a*<sub class="lower-index">*i*</sub>, *b*<sub class="lower-index">*i*</sub>, *c*<sub class="lower-index">*i*</sub>, *d*<sub class="lower-index">*i*</sub> (0 ≤ |*a*<sub class="lower-index">*i*</sub>|, |*c*<sub class="lower-index">*i*</sub>| ≤ 50; 1 ≤ *b*<sub class="lower-index">*i*</sub>, *d*<sub class="lower-index">*i*</sub> ≤ 50; (*a*<sub class="lower-index">*i*</sub>, *c*<sub class="lower-index">*i*</sub>) ≠ (0, 0)). These integers represent a point <img align="middle" class="tex-formula" src="https://espresso.codeforces.com/eb0ead1a6138beb1ef687d910311920c2d9818fc.png" style="max-width: 100.0%;max-height: 100.0%;"/>.

No two points coincide.
print("_RANDOM_GUESS_1693677363.2552173")# 1693677363.2552354