#include <bits/stdc++.h>

using namespace std;

const int NMax = 1e5 + 5;

int v[NMax];
int s[NMax];

map < int, int > Map;

int main(){
    #ifndef ONLINE_JUDGE
    freopen("a.in", "r", stdin);
    #endif // ONLINE_JUDGE

    int n, x;
    cin >> n;
    for(int i = 1; i <= n; i++){
        cin >> v[i];
    }
    for(int i = 1; i <= n; i++){
        cin >> x;
        v[i] -= x;
        s[i] = s[i - 1] + v[i];
    }
    int best = 0;
    for(int i = 1; i <= n; i++){
        if(s[i] == 0){
            best = max(best, i);
        } else {
            if(Map[s[i]] == 0){
                Map[s[i]] = i;
            } else {
                best = max(best, i - Map[s[i]]);
            }
        }
    }
    cout << best;
    return 0;
}