#include <bits/stdc++.h>
using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
long long subsecvente(const vector<int>& elemente ,int k)
{
int n=elemente.size();
long long nrsecv=0;
unordered_map<int, int> freq;
int st=0, distincte=0;
for(int dr=0;dr<n;dr++)
{
if(freq[elemente[dr]]==0)
distincte++;
freq[elemente[dr]]++;
while(distincte>=k)
{
freq[elemente[st]]--;
if(freq[elemente[st]]==0)
distincte--;
st++;
}
nrsecv+=(dr-st+1);
}
return nrsecv;
}
int main() {
int n, l, u;
fin >> n >> l >> u;
vector<int> elemente(n);
for (int i = 0; i < n; ++i)
fin >> elemente[i];
long long nrsecvL = subsecvente(elemente, l);
long long nrsecvU = subsecvente(elemente, u+1);
long long rez=nrsecvU - nrsecvL;
fout << rez ;
fin.close();
fout.close();
return 0;
}