#include<cstdio>
#include<map>
using namespace std;

long long int x,y,n,k,i,p;


long long int a[100009], b[100009],st,dr, w[100009];

map <long long, int> myHash;

int main()
{
    //freopen("a.in","r",stdin);
    //freopen("a.out","w",stdout);

    scanf("%d",&n);

    for(i = 1; i <= n ;i++)
    {
        scanf("%d",&a[i]);
    }
    for(i = 1; i <= n ;i++)
    {
        scanf("%d",&b[i]);
        w[i] = b[i] - a[i];
    }
    myHash[0] = 0;
    int sum = 0;
    long long int sol = 0;
    for(i = 1; i <= n ;i++)
    {
        sum = sum + w[i];
        if(myHash.count(sum) == 0)
        {
            myHash[sum] = i;
        }
        else
        {
            int pozition = myHash[sum];
            sol = max(sol, i - pozition);

        }
        //printf("%d ",sum);
    }
    //printf("\n");
    for(i = 1; i <= n ;i++)
    {
        //printf("%d ",w[i]);
    }
    //printf("\n");
    printf("%d\n",sol);

}