#include #define NMAX 100005 #define MMAX 2147483649 #define CMAX 4294967298 #define PRIM 606969 using namespace std; long a[PRIM], b[NMAX]; int main () { int n; cin >> n; for (int i = 1; i <= n; ++i){ cin >> b[i]; } long x; for (int i = 1; i <= n; ++i){ cin >> x; b[i] = b[i-1] + b[i] - x; if (a[(b[i]%PRIM+PRIM)%PRIM] == 0){ a[(b[i]%PRIM+PRIM)%PRIM] = i; } } int maxm = 0; for (int i = n; i >= 1; --i){ if (b[i] == 0){ maxm = i; break; } else if (i - a[(b[i]%PRIM+PRIM)%PRIM] > maxm) { maxm = i - a[(b[i]%PRIM+PRIM)%PRIM]; } if (maxm >= i - 1){ break; } } cout << maxm; return 0; }