#include using namespace std; #define ll long long #define ld long double #define pb push_back #define mp make_pair #define pii pair #define pll pair #define pdd pair #define all(x) (x).begin(), (x).end() #define fi first #define se second const int NMAX = 100005; int a[NMAX], b[NMAX]; unordered_map m; int main() { cin.sync_with_stdio(false); int n; cin >> n; for (int i = 1; i <= n; i++) cin >> a[i]; for (int i = 1; i <= n; i++) cin >> b[i]; ll s1 = 0, s2 = 0; m[0] = 0; int sol = 0; for (int i = 1; i <= n; i++) { s1 += a[i]; s2 += b[i]; if (m.count(s1 - s2)) { int mlc = m[s1 - s2]; sol = max(sol, i - mlc); } if (!m.count(s1 - s2)) { m[s1 - s2] = i; } } cout << sol; return 0; }