#include #include #include #include using namespace std; #define N 30 #define eps 1e-8 typedef complex P; vector

ls[N]; int n,cols[N],g[N][N],cc_id[N]; int ord[N],deg[N],min_deg; int sort_by_deg(int a, int b) { if (deg[a]!=deg[b]) return deg[a]>deg[b]; return 0; } double det(P p, P q) { return imag(conj(p)*q); } double dot(P p, P q) { return real(conj(p)*q); } int ccw(P a, P b, P c) { b -= a; c -= a; if (det(b,c)>eps) return 1; if (det(b,c)<-eps) return -1; if (dot(b,c)<-eps) return 2; if (norm(b)=cur_ans) return; if (cur==n) { cur_ans22) { assert(!"too many vertices"); } for (int i=0;i30) assert(!"invalid number of stations"); for (int j=0;j?=cur_ans; } printf("%d\n",ans); } }