#include #include #include using namespace std; #define MAX 100010 map M; long long a[MAX], b[MAX]; int main() { int n, i, best; long long x; cin >> n; for(i = 1 ; i <= n ;i ++) { cin >> x; a[i] = a[i - 1] + x; } for(i = 1 ; i <= n ; i++) { cin >> x; b[i] = b[i - 1] + x; } for(i = 1 ; i <= n ; i++) { a[i] -= b[i]; } M[0] = 0; best = 0; for(i = 1 ; i <= n ;i ++) { if(a[i] == 0) { best = max(best, i); } if(M[a[i]]) { best = max(best, i - M[a[i]]); } else M[a[i]] = i; } cout << best << "\n"; }