#include #define val first #define pos second using namespace std ; const int NR = 100005 ; int64_t a [ NR ] , b [ NR ] , n ; pair < int64_t , int64_t > sol [ NR ] ; int main () { int64_t i , j , ans = 0 ; cin >> n ; for ( i = 1 ; i <= n ; ++ i ) { cin >> a [ i ] ; a [ i ] += a [ i - 1 ] ; } for ( i = 1 ; i <= n ; ++ i ) { cin >> b [ i ] ; b [ i ] += b [ i - 1 ] ; sol [ i ].val = b [ i ] - a [ i ] ; sol [ i ].pos = i ; } sort ( sol , sol + n + 1 ) ; for ( i = 0 ; i <= n ; ++ i ) { for ( j = i ; j <= n && sol [ i ].val == sol [ j ].val ; j ++ ) ; j -- ; ans = max ( ans , sol [ j ].pos - sol [ i ].pos ) ; i = j ; } cout << ans ; }