#include <bits/stdc++.h>
using namespace std;
unsigned long long int n,s[100000555];
unordered_map<unsigned long long int,int> f;
void up(int in,int up)
{
while(in<=n)
{
s[in]+=up;
in+=in&(-in);
}
}
unsigned long long int sm(int in)
{
unsigned long long int sum=0;
while(in>=1)
{
sum+=s[in];
in-=in&(-in);
}
return sum;
}
int main()
{
ifstream cin("secv5.in");
ofstream cout("secv5.out");
unsigned long long int x,a,b,dif=0,cnt=0;
cin>>n>>a>>b;
for(int i=1;i<=n;++i)
{
cin>>x;
if(f[x]!=0)
{
up(f[x],-1);
}
else
{
++dif;
}
f[x]=i;
up(i,1);
unsigned long long int st=1,dr=i,mij,i1=1,i2=0;
if(i==3)
{
// cout<<x<<" ";
}
while(st<=dr)
{
mij=(st+dr)/2;
unsigned long long int nr=dif-sm(mij-1);
if(nr>=a)
{
st=mij+1;
i2=mij;
}
else
{
dr=mij-1;
}
}
st=1;
dr=i;
while(st<=dr)
{
mij=(st+dr)/2;
unsigned long long int nr=dif-sm(mij-1);
if(nr<=b)
{
dr=mij-1;
i1=mij;
}
else
{
st=mij+1;
}
}
cnt=cnt+(i2-i1+1);
//cout<<i2<<" "<<i1<<"\n";
}
cout<<cnt;
return 0;
}