#include <bits/stdc++.h>
using namespace std;

int main() {
	int n;
	cin>>n;
	
	vector<int> numbers(n);
	
	for(auto& number: numbers){
		cin>>number;
	}
	
	unordered_map<int,int> prefixSum;
	
	int sum = 0;
	
	int longest = 0;
	
	for(int i=0; i<n; i++){
		sum += numbers[i];
		
		if(prefixSum.find(sum) != prefixSum.end()){
			int index = prefixSum[sum];
			
			longest = max(longest, i - index);
		}
		
		else{
			prefixSum[sum] = i;
		}
		
	}
	
	cout<<longest;
	
	return 0;
}