/* */ //#pragma comment(linker, "/STACK:16777216") #define _CRT_SECURE_NO_WARNINGS #include <fstream> #include <iostream> #include <string> #include <complex> #include <math.h> #include <set> #include <vector> #include <map> #include <queue> #include <stdio.h> #include <stack> #include <algorithm> #include <list> #include <ctime> #include <memory.h> #include <assert.h> #define y0 sdkfaslhagaklsldk #define y1 aasdfasdfasdf #define yn askfhwqriuperikldjk #define j1 assdgsdgasghsf #define tm sdfjahlfasfh #define lr asgasgash #define norm asdfasdgasdgsd #define eps 1e-9 #define M_PI 3.141592653589793 #define bs 1000000007 #define bsize 256 using namespace std; const int INF = 1e9; const int N = 500031; vector<pair<long long, long long> >v; int n; long long a[N], b[N]; long long ans; int main(){ //freopen("fabro.in","r",stdin); //freopen("fabro.out","w",stdout); //freopen("F:/in.txt", "r", stdin); //freopen("F:/output.txt", "w", stdout); ios_base::sync_with_stdio(0); //cin.tie(0); cin >> n; for (int i = 1; i <= n; i++) cin >> a[i]; for (int i = 1; i <= n; i++) cin >> b[i]; for (int i = 1; i <= n; i++) a[i] += a[i - 1]; for (int i = 1; i <= n; i++) b[i] += b[i - 1]; for (int i = 0; i <= n; i++) { v.push_back(make_pair(a[i] - b[i], i)); } sort(v.begin(), v.end()); int block = 0; for (int i = 0; i < v.size(); i++) { if (i>0 && v[i].first != v[i - 1].first) block = i; ans = max(v[i].second - v[block].second,ans); } cout << ans << endl; cin.get(); cin.get(); return 0; }