#include using namespace std; int main() { int N; cin >> N; vector> XY( N ); for( int i = 0; i < N; i++ ) { int X, Y; cin >> X >> Y; XY[i] = make_pair( X, Y ); } const double EPS = 0.0000000001; int ans = 0; for( int b = 0; b <= 100; b++ ) { for( int i = 0; i < N; i++ ) { double a = (double)(XY[i].second - b) / XY[i].first; int ans1 = 0; for( int j = 0; j < N; j++ ) { if( fabs( (double)(XY[j].second) - ( XY[j].first * a + b ) ) < EPS ) { ans1++; } } ans = max( ans, ans1 ); } } map mp; for( int i = 0; i < N; i++ ) { mp[ XY[i].first ]++; } for( auto e : mp ) { ans = max( ans, e.second ); } map mp1; for( int i = 0; i < N; i++ ) { mp1[ XY[i].second ]++; } for( auto e : mp1 ) { ans = max( ans, e.second ); } cout << ans << endl; }