#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define rep(i,n) for(int i=0;i<(int)(n);i++) #define all(v) v.begin(),v.end() #define uniq(v) v.erase(unique(all(v)),v.end()) #define indexOf(v,x) (find(all(v),x)-v.begin()) #define INF 1e+10 #define EPS 1e-10 #define EQ(a,b) (abs(a-b) Line; //線分p1-p2上に点qがあるか判定 bool on_seg(P p1,P p2,P q){ return (p1-q).det(p2-q)==0 && (p1-q).dot(p2-q)<=0; } //直線p1-p2と直線q1-q2の交点 P intersection(P p1,P p2,P q1,P q2){ return p1+(p2-p1)*( (q2-q1).det(q1-p1)/(q2-q1).det(p2-p1) ); } int main(){ int n; P p[200]; cin>>n; rep(i,n*2){ cin>>p[i].x; cin>>p[i].y; } int ans=0; rep(i,n*2)rep(j,i){ int cnt=0; rep(k,n){ P q,r,s; q=p[k*2];r=p[k*2+1]; s=intersection(p[i],p[j],q,r); if( fabs((p[i]-p[j]).det(p[i]-q))