超时
#include<bits/stdc++.h>
using namespace std;
bool compare(pair<int,int>a,pair<int,int>b){
return a.first<b.first;
}
int main(){
int n,m,t;
cin>>n>>m>>t;
vector<pair<int,int>>M(m+1);
for(int i=1;i<=m;i++){
cin>>M[i].first>>M[i].second;
}
sort(M.begin(),M.end());
vector<pair<int,int>>N(n+1,pair<int,int>(0,0));
vector<int>o(n+1,0);
for(int i=1,T=1;i<=t;i++){
if(T<=m){
if(M[T++].first==i){
if(!o[M[T-1].second])
N[M[T-1].second].first+=3,o[M[T-1].second]=1;
else
N[M[T-1].second].first+=2;
while (M[T++].first==i)
{
if(!o[M[T-1].second])
N[M[T-1].second].first+=3,o[M[T-1].second]=1;
else
N[M[T-1].second].first+=2;
}
}else{}
T--;
}else{}
for(int j=1;j<=n;j++){
o[j]=0;
if(N[j].first>0)N[j].first--;
if(N[j].first<=3)N[j].second=0;
if(N[j].first>5)N[j].second=1;
}
}
int ans=0;
for(int i=1;i<=n;i++){
ans+=N[i].second;
}
cout<<ans<<endl;
}