#include <bits/stdc++.h>

using namespace std;

const int N = 1e5 + 5;
int a[N];
int n,k,x;
int cnt[10][N];

int check(int l, int r) { /// O(10)
    /// 1. Dem trong doan l,r co bao nhieu so khac nhau
    int khacnhau = 0;
    vector<pair<int, int>> candidates;
    int tot = 0;
    for (int i = 1; i <= 9; i++) {
        if (cnt[i][r] - cnt[i][l-1] > 0)        {
            khacnhau++;
            int sl  = cnt[i][r] - cnt[i][l-1];
            tot += sl;
            candidates.push_back({sl,i});
        }
    }
    if (khacnhau <= k)      return -1;
    sort(candidates.begin(), candidates.end(), greater<pair<int,int>>());
    int cur = 0; /// Tong cnt cua k so co cnt lon nhat
    for (int i = 0; i < k; i++) {
        cur += candidates[i].first;
    }
    int remain = tot - cur;
    return remain;
}

int main() {
    /// freopen("DENLONG.INP","r",stdin);
    // freopen("DENLONG.OUT","w",stdout);
    ios::sync_with_stdio(0),    cin.tie(0), cout.tie(0);

    cin >> n >> k >> x;
    for (int i = 1; i <= n; i++)    cin >> a[i];

    for (int i = 1; i <= n; i++) {
        for (int c = 1; c <= 9; c++) {
            cnt[c][i] = cnt[c][i-1] + (a[i] == c);
        }
    }

    int ans = -1;
    int l=1,r=1;
    while (l <= r) {
        int cur_amt = check(l,r);
        if (cur_amt == -1 || cur_amt <= x)      {
            ans = max(ans,r-l+1);
            if (r + 1 <= n)     r++;
            else l++;
        }
        else l++;
    }
    cout << ans;
    return 0;
}
