//#pragma GCC optimize("Ofast")
//#pragma GCC target("avx,avx2,fma")
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define fi first
#define se second
#define MOD 1000000007
#define FOR(i,a,b) for (int i = (a);i <= (b);i++)
#define FOD(i,a,b) for (int i = (b);i >= (a);i--)
#define ALL(x) (x).begin(),(x).end()
#define ii pair<ll,ll>
#define iii pair<ll,pair<ll,int>>
//const int MOD = 998244353;
const int MAXN = 1e5 + 7;
int a[MAXN],dd[MAXN];
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
//freopen("COMNUM.inp","r",stdin);
//freopen("COMNUM.out","w",stdout);
int n,m,k;cin >> n >> m >> k;
FOR(i,1,n)cin >> a[i];
if (k > n)return cout << 0,0;
vector<vector<int>> dp(n + 7,vector<int>(k + 7));
FOR(i,1,n){
FOR(j,0,k)dp[i][j] = 1e9;
int w = 0;
FOD(j,1,i){
dd[a[j]]++;
if (dd[a[j]] > m){
w++;
dd[a[j]]--;
}
if (w > k){
FOR(x,j,i)dd[a[x]] = 0;
break;
}
FOR(x,w,k)dp[i][x] = min(dp[i][x],dp[j - 1][x - w] + 1);
if (j == 1)FOR(x,j,i)dd[a[x]] = 0;
}
}
cout << dp[n][k];
return 0^0;
}
Ly8jcHJhZ21hIEdDQyBvcHRpbWl6ZSgiT2Zhc3QiKQovLyNwcmFnbWEgR0NDIHRhcmdldCgiYXZ4LGF2eDIsZm1hIikKI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBNT0QgMTAwMDAwMDAwNwojZGVmaW5lIEZPUihpLGEsYikgZm9yIChpbnQgaSA9IChhKTtpIDw9IChiKTtpKyspCiNkZWZpbmUgRk9EKGksYSxiKSBmb3IgKGludCBpID0gKGIpO2kgPj0gKGEpO2ktLSkKI2RlZmluZSBBTEwoeCkgKHgpLmJlZ2luKCksKHgpLmVuZCgpCiNkZWZpbmUgaWkgcGFpcjxsbCxsbD4KI2RlZmluZSBpaWkgcGFpcjxsbCxwYWlyPGxsLGludD4+Ci8vY29uc3QgaW50IE1PRCA9IDk5ODI0NDM1MzsKY29uc3QgaW50IE1BWE4gPSAxZTUgKyA3OwppbnQgYVtNQVhOXSxkZFtNQVhOXTsKaW50IG1haW4oKXsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZSgwKTsgY291dC50aWUoMCk7CiAgICAvL2ZyZW9wZW4oIkNPTU5VTS5pbnAiLCJyIixzdGRpbik7CiAgICAvL2ZyZW9wZW4oIkNPTU5VTS5vdXQiLCJ3IixzdGRvdXQpOwogICAgaW50IG4sbSxrO2NpbiA+PiBuID4+IG0gPj4gazsKICAgIEZPUihpLDEsbiljaW4gPj4gYVtpXTsKICAgIGlmIChrID4gbilyZXR1cm4gY291dCA8PCAwLDA7CiAgICB2ZWN0b3I8dmVjdG9yPGludD4+IGRwKG4gKyA3LHZlY3RvcjxpbnQ+KGsgKyA3KSk7CiAgICBGT1IoaSwxLG4pewogICAgICAgIEZPUihqLDAsaylkcFtpXVtqXSA9IDFlOTsKICAgICAgICBpbnQgdyA9IDA7CiAgICAgICAgRk9EKGosMSxpKXsKICAgICAgICAgICAgZGRbYVtqXV0rKzsKICAgICAgICAgICAgaWYgKGRkW2Fbal1dID4gbSl7CiAgICAgICAgICAgICAgICB3Kys7CiAgICAgICAgICAgICAgICBkZFthW2pdXS0tOwogICAgICAgICAgICB9IAogICAgICAgICAgICBpZiAodyA+IGspewogICAgICAgICAgICAgICBGT1IoeCxqLGkpZGRbYVt4XV0gPSAwOwogICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICBGT1IoeCx3LGspZHBbaV1beF0gPSBtaW4oZHBbaV1beF0sZHBbaiAtIDFdW3ggLSB3XSArIDEpOwogICAgICAgICAgICBpZiAoaiA9PSAxKUZPUih4LGosaSlkZFthW3hdXSA9IDA7CiAgICAgICAgfQogICAgfQogICAgY291dCA8PCBkcFtuXVtrXTsKICAgIHJldHVybiAwXjA7Cn0=