#include <iostream>
#include <vector>
#include <map>

int main() {
    int N;
    std::cin >> N;

    std::vector<int> X(N), Y(N);
    for (int i = 0; i < N; i++) std::cin >> X[i] >> Y[i];

    int ans = 0;
    for (int i = 0; i < N; i++) {
        std::map<double, int> m;

        for (int j = i + 1; j < N; j++) {
            int dx1 = X[j] - X[i];
            int dy1 = Y[j] - Y[i];

            int res = 2;
            for (int k = j + 1; k < N; k++) {
                int dx2 = X[k] - X[i];
                int dy2 = Y[k] - Y[i];

                if (dx1 * dy2 == dx2 * dy1) res++;
            }
            ans = std::max(ans, res);
        }
    }

    std::cout << ans << "\n";
}