在一个军事基地附近有一个战壕系统,可以建模为平面上的线段。在夜间,当大多数士兵熟睡时,有三名守卫负责看守这些战壕。如果两名守卫之间的整个直线路段上都存在战壕(或一排连续的战壕),且该路段上没有第三名守卫,那么这两名守卫就可以互相看见。
出于安全原因,守卫的安置必须满足:每名守卫都能看见另外两名守卫。问有多少种不同的安置方法?
输入格式
第一行包含一个整数 $N$ ($1 \le N \le 20$),表示战壕的数量。
接下来的 $N$ 行,每行包含一个战壕的描述:四个非负整数 $X_1, Y_1, X_2, Y_2$(均小于或等于 $1000$),其中 $(X_1, Y_1)$ 是战壕一端的坐标,而 $(X_2, Y_2)$ 是战壕另一端的坐标。
输入中的战壕可能会重叠并共享端点。
输出格式
在单行中输出安置守卫的方法数。
样例
输入 1
6 0 0 1 0 0 0 0 1 1 0 1 1 0 1 1 1 0 0 1 1 1 0 0 1
输出 1
8
输入 2
4 5 1 7 1 1 1 5 1 4 0 4 4 7 0 3 4
输出 2
1
输入 3
3 2 2 3 2 3 2 3 3 3 3 2 3
输出 3
0