#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
#define ll long long
 
using namespace std;
 
class PlaneGame {
public:
  int bestShot(vector <int>, vector <int>);
};
 
int PlaneGame::bestShot(vector <int> x, vector <int> y) {
  int n = x.size();
  int ans = 0;
  if(n == 1 || n == 2 || n == 3)
  {
    return n;
    return 0;
  }
  for(int i = 0;i < n;i++)
  {
    for(int j = 0;j < n;j++)
    {
      for(int k = 0;k < n;k++)
      {
        if(i == j || j == k || k == i)
          continue;
        int curans = 3;
        ll x1 = x[i], x2 = x[j], x3 = x[k];
        ll y1 = y[i], y2 = y[j], y3 = y[k];
        for(int l = 0;l < n;l++)
        {
          if(l == i || l == j || l == k) continue;
          ll x4 = x[l], y4 = y[l];
          bool b1 = (((x4-x3)*(x1-x2)+(y4-y3)*(y1-y2)) == 0);
          bool b2 = (((y4-y1)*(x1-x2)) == ((y1-y2)*(x4-x1)));
          if(b1 || b2) curans++;
        }
        ans = max(curans, ans);
      }
    }
  }
 
  return ans;
}