import java.awt.geom.Line2D; import java.io.IOException; import java.io.InputStream; import java.util.Arrays; import java.util.Comparator; import java.util.NoSuchElementException; public class Main { public static void main(String[] args) { new Main().run(); } double f(double theta) { return theta>=0?theta:(2*Math.PI+theta); } final long MOD=(long)1e9+7; long pow(long a,long n) { return n!=0?pow(a*a%MOD,n/2)*(n%2==1?a:1)%MOD:1; } long inv(long a) { return pow(a,MOD-2); } long ADD(long a,long b) { long ret=a+b; return ret() { @Override public int compare(long[] o1, long[] o2) { return Double.compare(f(Math.atan2(o1[1], o1[0])), f(Math.atan2(o2[1], o2[0]))); } }); long[] sumx=new long[2*p.length+1]; long[] sumy=new long[2*p.length+1]; for (int j=1;j<=2*p.length;++j) { sumx[j]=ADD(p[(j-1)%(n-1)][0],sumx[j-1]); sumy[j]=ADD(p[(j-1)%(n-1)][1],sumy[j-1]); } int t=0; for (int j=0;j