#include using namespace std; int main() { int n; cin >> n; vector> dat; for (int i = 0; i < n; i++) { long long a, b; cin >> a >> b; dat.emplace_back(a, b); } auto dxdy = [&] (int i, int j) -> pair { long long dx = dat[i].first - dat[j].first; long long dy = dat[i].second - dat[j].second; return {dx, dy}; }; int ans = 0; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) if (i != j) { int res = 0; long long dx, dy; tie(dx, dy) = dxdy(i, j); for (int k = 0; k < n; k++) { long long dx2, dy2; tie(dx2, dy2) = dxdy(i, k); if (dy * dx2 == dx * dy2) res++; } ans = max(ans, res); } } cout << ans << '\n'; return 0; }