#define _GLIBCXX_DEBUG #define rep(i, n) for (int i = 0; i < (int)(n); i++) #define ALL(v) v.begin(), v.end() typedef long long ll; templatebool chmax(T &a, const T &b) { if (abool chmin(T &a, const T &b) { if (b using namespace std; int main() { int n; cin>>n; double X[n],Y[n],A[n],B[n]; rep(i,n) cin>>X[i]>>Y[i]; double c; int max1=0; map m; rep(i,n){ int max=0,max2=0; rep(j,n) A[j]=X[j]-X[i],B[j]=Y[j]-Y[i]; rep(j,n){ if(A[j]==0 && B[j]!=0){ max2++; if(max2>max) max=max2; } else if(A[j]!=0 && B[j]!=0){ c=B[j]/A[j]; m[c]++; if(m[c]>max) max=m[c]; } } m.clear(); if(max>max1) max1=max; } cout << max1+1 <