N=int(raw_input()) points=[map(int,raw_input().split()) for i in range(N)] ans=1 for i in range(N): for j in range(i+1,N): for k in range(2): for l in range(2): cnt=0 x,y=points[i][k*2],points[i][k*2+1] x2,y2=points[j][l*2],points[j][l*2+1] if (x,y)==(x2,y2): continue vx,vy=x2-x,y2-y for t in range(N): a,b,c,d=points[t] wx,wy=a-x,b-y zx,zy=c-x,d-y det1=vy*wx-vx*wy det2=vy*zx-vx*zy if det1*det2<=0: cnt+=1 ans=max(cnt,ans) print ans