#include <bits/stdc++.h>
using namespace std;
const int MAX_N = 200005;
int N;
int A[MAX_N];
int B[MAX_N];
map<pair<int, int>, int> m;
int gcd(int a, int b) {
  if (a < b) gcd(b, a);
  if (b == 0) return a;
  return gcd(b, a % b);
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cin >> N;
  for (int i = 0; i < N; i++) cin >> A[i];
  for (int i = 0; i < N; i++) cin >> B[i];
  int bonus = 0;
  for (int i = 0; i < N; i++) {
    if (A[i] == 0) {
      if (B[i] == 0) bonus++;
    } else {
      if (B[i] == 0)
        m[make_pair(0, 0)]++;
      else {
        int g = gcd(abs(A[i]), abs(B[i]));
        int _a = A[i] / g;
        int _b = B[i] / g;
        if (_a < 0) {
          _a *= -1;
          _b *= -1;
        }
        m[make_pair(_a, _b)]++;
      }
    }
  }
  int ret = 0;
  for (map<pair<int, int>, int>::iterator it = m.begin(); it != m.end(); it++) {
    ret = max(ret, it->second);
  }
  cout << ret + bonus;
  return 0;
}
