#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int MOD=1e9+7;
int maxx(int N,vector<int>& A, vector<int>& B){
unordered_map<int,int>cnt;
for(int a:A){
for(int b:B){
cnt[1LL*a*b%MOD]++;
}
}
int ans=0;
for(auto&c:cnt){
if(c.second%MOD>ans){
ans=c.second%MOD;
}
}
return ans;
}
int main(){
int N;
cin>>N;
vector<int>A(N),B(N);
for(int i=0;i<N;i++)cin>>A[i];
for(int i=0;i<N;i++)cin>>B[i];
cout<<maxx(N,A,B)<<endl;
return 0;
}