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

int main() {
    int n;
    cin >> n;
    vector<long long> a(n);
    for (int i = 0; i < n; ++i) cin >> a[i];

    unordered_map<long long, int> first; // 记录每个值第一次出现的下标
    long long ans = 0;                   // 最多能删除的元素个数

    for (int i = 0; i < n; ++i) {
        auto it = first.find(a[i]);
        if (it == first.end()) {
            first[a[i]] = i;             // 第一次出现
        } else {
            // 当前与最早出现的一对能删除的数量
            ans = max(ans, 1LL * i - it->second - 1);
        }
    }
    cout << ans << '\n';
    return 0;
}