#include<bits/stdc++.h>
using namespace std;
int ans,n,k,p,c[500010],b[500100],f[500010][30];
vector<int>a[60];
int find(int l,int r)
{
int k1=(r-l+1);
return min(f[l][k1],f[r-(1<<k1)+1][k1]);
}
int main()
{
cin>>n>>k>>p;
for(int i=1;i<=n;i++)
{
cin>>b[i]>>f[i][0];
a[b[i]].push_back(i);
c[i]=a[b[i]].size()-1;
}
for(int i=1;i<=20;i++)
for(int j=1;j<=n;j++) f[j][i]=1e9;
for(int t=1;t<=20;t++)
for(int i=1;i+(1<<t)-1<=n;i++) f[i][t]=min(f[i][t-1],f[i+(1<<(t-1))][t-1]);
for(int i=2;i<=n;i++)
{
int l=0,r=c[i];
while(l<=r)
{
int mid=(l+r)>>1;
if(find(a[b[i]][mid],a[b[i]][c[i]])<=p) l=mid+1;
else r=mid-1;
}
ans+=l;
if(l-1==c[i]) ans--;
}
cout<<ans;
}