#include <bits/stdc++.h>
using namespace std;
unordered_map<unsigned int, int> f;
unsigned int a[1048577]; // nr max de num(2^20)
int n;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
long long secv(int c,unsigned int a[]) {
long long ans=0;
int L = 1, R, dist=0;
for(R=1;R<=n;R++) {
f[a[R]]++;
if(f[a[R]]==1)
dist++;
while(L<= R&&dist>c) {
f[a[L]]--;
if(f[a[L]]==0) {
f.erase(a[L]);
dist--;
}
L++;
}
ans+=(R-L+1);
}
return ans;
}
int main() {
int k,m;
fin>>n>>k>>m;
for(int i=1;i<=n;i++)
fin>>a[i];
fout<<secv(k,a)-secv(m-1,a);
return -0;
}