#include #include #include #include #include #include #include #include #include #include #include #include #define vll vector #define vvvl vector #define vvl vector> #define VV(a, b, c, d) vector>(a, vector(b, c)) #define VVV(a, b, c, d) vector(a, vvl(b, vll (c, d))); #define re(c, b) for(ll c=0;c> n; vvl d = VV(n, 2, 0, ll); get(d); ll ans = 0; re(i,n){ re(j,n){ if(i==j) continue; ll dx=d[j][0]-d[i][0],dy=d[j][1]-d[i][1]; ll cnt=0; if(dx==0) {re(k,n) if(d[k][0]==d[i][0]) cnt++; }else if(dy==0) {re(k,n) if(d[k][1]==d[i][1]) cnt++; }else{ ll g = gcd(dx, dy); dx/=g, dy/=g; re(k,n){ ll sa_x = d[k][0]-d[i][0]; ll sa_y = d[k][1]-d[i][1]; if(sa_x*dy==sa_y*dx)cnt++; } } ans = max(ans, cnt); } } std::cout << ans << '\n'; return 0; }