#include<iostream>
#include<algorithm>
using namespace std;
struct aa
{
int sum;
int times;
}a[100001];
struct bb
{
int id;
int T;
}b[100001];
bool com(const bb x,const bb y)
{
return x.T<=y.T;
}
bool vis[100001];
int main()
{
int n,m,t;
cin>>n>>m>>t;
for(int i=1;i<=m;i++) cin>>b[i].T>>b[i].id;
sort(b+1,b+m+1,com);
for(int i=1;i<=m;i++)
{
if(!a[b[i].id].sum) a[b[i].id].sum=2,a[b[i].id].times=b[i].T;
else
{
if(b[i].T!=a[b[i].id].times) a[b[i].id].sum=a[b[i].id].sum-b[i].T+a[b[i].id].times+1;
if(a[b[i].id].sum<=3&&vis[b[i].id]) vis[b[i].id]=false;
if(a[b[i].id].sum<0) a[b[i].id].sum=0;
a[b[i].id].sum+=2;a[b[i].id].times=b[i].T;
if(a[b[i].id].sum>5) vis[b[i].id]=true;
}
}
int count=0;
for(int i=1;i<=n;i++)
{
if(vis[i])
{
if(a[i].sum-t+a[i].times<=3) vis[i]=false;
if(vis[i]) count++;
}
}
cout<<count;
}