#include #include #include #include #include #include #include #include #include static const int MOD = 1000000007; using ll = long long; using u32 = unsigned; using u64 = unsigned long long; using namespace std; template constexpr T INF = ::numeric_limits::max()/32*15+208; int main() { int n; cin >> n; vector xs(n), ys(n); for (int i = 0; i < n; ++i) { cin >> xs[i] >> ys[i]; } int val = 0; for (int i = 0; i < n; ++i) { for (int j = i+1; j < n; ++j) { int ans = 0; int dy1 = ys[j]-ys[i], dx1 = xs[j]-xs[i]; for (int k = 0; k < n; ++k) { int dy2 = ys[k]-ys[i], dx2 = xs[k]-xs[i]; if(dx2*dy1 == dx1*dy2) ans++; } val = max(ans, val); } } cout << val << "\n"; return 0; }