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

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