#include <cstdio>
#include <iostream>
#include <map>

using namespace std;

const int MAXN = ( 1 << 18 );

int a[MAXN * 2], b[MAXN], N;
int mpa[MAXN], mpb[MAXN], mp[MAXN];
void scan(){
    scanf ( "%d", &N );

    for ( int i = 0; i < N; ++i ){
        scanf ( "%d", a + i );
        mpa[ a[i] ] = i;
    }
    for ( int i = 0; i < N; ++i ){
        scanf ( "%d", b + i );
        mpb[ b[i] ] = i;
    }
}

void solve(){
    for ( int i = 1; i <= N; ++i )
        mp[ (mpa[i] - mpb[i] + N) % N]++;
    int mx = 0;

    for ( int i = 0; i < N; ++i )
        if ( mx < mp[i])
            mx = mp[i];

    cout << mx << endl;
}
int main(){
    scan();
    solve();
}
