#pragma GCC optimize("Ofast") #pragma GCC target("avx2") #define rd_init() char*rp=({char*mmap();mmap(0l,1l<<25,1,2,0,0ll);}) #define rd_skip() while(*rp++>=48) #define rd() ({int _v=0,_c;while(_c=*rp++-48,_c>=0)_v=_v*10+_c;_v;}) #define rd_signed() ({int _s=*rp=='-'&&++rp,_v=rd();_s?-_v:_v;}) #define wt(v) ({unsigned _z=v;do*--wp=_z%10+48;while(_z/=10);}) #define wt1(v) ({char wbuf[64],*wp=wbuf+sizeof wbuf;wt(v);write(1,wp,wbuf+sizeof wbuf-wp);}) #define rep4(v,s,e,t) for(typeof(e) v=s;v=a?v:a) int xy[400]; int f1(){ int n=0; rd_init(); rd_skip(); while(*rp){ xy[n++]=rd_signed(); } return n; } int f2(int n){ int b=0; rep4(i,0,n,2){ int rx=xy[i+0]; int ry=xy[i+1]; rep4(j,i+2,n,2){ int lx=xy[j+0]-rx; int ly=xy[j+1]-ry; int o=ly*rx-lx*ry; if(lx|ly){ int c=0; rep4(k,0,n,4){ int px=xy[k+0]; int py=xy[k+1]; int qx=xy[k+2]; int qy=xy[k+3]; c+=(lx*py-ly*px+o)*(lx*qy-ly*qx+o)<=0; } chmax(b,c); } } } return b; } int main(){ wt1(f2(f1())); _exit(0); }