#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;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCWludCBuOwoJY2luPj5uOwoJCgl2ZWN0b3I8aW50PiBudW1iZXJzKG4pOwoJCglmb3IoYXV0byYgbnVtYmVyOiBudW1iZXJzKXsKCQljaW4+Pm51bWJlcjsKCX0KCQoJaW50IGRpc3RhbmNlID0gSU5UX01JTjsKCQoJdW5vcmRlcmVkX21hcDxpbnQsaW50PiBmaXJzdE9jY3I7CgkKCWZvcihpbnQgaT0wOyBpPG47IGkrKyl7CgkJaWYoZmlyc3RPY2NyLmZpbmQobnVtYmVyc1tpXSkgIT0gZmlyc3RPY2NyLmVuZCgpKXsKCQkJZGlzdGFuY2UgPSBtYXgoZGlzdGFuY2UsIGkgLSBmaXJzdE9jY3JbbnVtYmVyc1tpXV0pOwoJCX0KCQkKCQllbHNlewoJCQlmaXJzdE9jY3JbbnVtYmVyc1tpXV0gPSBpOwoJCX0KCX0KCQoJaWYoZGlzdGFuY2UgPT0gSU5UX01JTikgZGlzdGFuY2UgPSAwOwoJCgljb3V0PDxkaXN0YW5jZTsKCQoJcmV0dXJuIDA7Cn0=