有一些哨兵无人机正在守卫一个绝密设施。每个哨兵都静止在三维空间中的某一点,并朝向某个观察方向。
随着人工智能的最新进展,设施的所有者意识到,对设施最大的威胁不是入侵者,而是哨兵本身!为了安全起见,他们想要调整哨兵,使得每个哨兵都在观察另一个哨兵,并且每个哨兵都被且仅被另一个哨兵观察到。
改变一个哨兵的观察方向需要消耗 1 单位能量,将一个哨兵移动到新位置需要消耗 1000 单位能量。请注意,这些操作是独立的。同时改变哨兵的位置和观察方向总共需要消耗 1001 单位能量。在移动结束后,任何两个哨兵都不能处于相同的位置。移动后,哨兵的位置可能不在整数格点上。
一个位于 $(x, y, z)$ 且朝向为 $(vx, vy, vz)$ 的哨兵可以看到对于任意 $t \ge 0$ 的点 $(x + t \cdot vx, y + t \cdot vy, z + t \cdot vz)$,前提是该点与哨兵之间没有其他哨兵。为了使每个哨兵都能被且仅被另一个哨兵观察到,重新安置哨兵所需的最少能量是多少?
输入格式
第一行包含一个整数 $n$ ($1 \le n \le 500$),表示哨兵的数量。
接下来的 $n$ 行,每行包含六个整数 $x, y, z, vx, vy$ 和 $vz$,表示有一个哨兵位于 $(x, y, z)$,朝向为 $(vx, vy, vz)$。所有数值的范围均在 $-10^6$ 到 $10^6$ 之间(含边界)。$vx, vy, vz$ 中至少有一个不为零。没有两个哨兵处于相同的位置。
输出格式
输出一个整数,表示重新安置哨兵使得每个哨兵都能被且仅被另一个哨兵观察到所需的最少能量,如果无法实现,则输出 $-1$。
样例
样例输入 1
4 66 45 10 73 39 36 95 14 26 47 84 59 14 66 89 89 36 78 16 27 94 79 24 24
样例输出 1
4