#include<bits/stdc++.h>
using namespace std;
priority_queue<pair<long long int,long long int>>moneyp,moneyc;
priority_queue<long long int>moneycha;
long long int p[50001],c[50001],dis[50001];
int main()
{
long long int n,k,m,i,xp,yp,xc,yc,ans=0,sum=0;
cin>>n>>k>>m;
for(i=1;i<=n;i++)
{
cin>>p[i]>>c[i];
moneyp.push({-p[i],i});
moneyc.push({-c[i],i});
}
for(i=1;i<=k;i++)
{
moneycha.push(0);
}
while(moneyp.size()>0)
{
xp=-moneyp.top().first;
yp=moneyp.top().second;
xc=-moneyc.top().first;
yc=moneyc.top().second;
if(dis[yp]==1)
{
moneyp.pop();
}
else
{
if(dis[yc]==1)
{
moneyc.pop();
}
else
{
if(xp<xc-moneycha.top())
{
if(sum+xp>m)
{
break;
}
sum+=xp;
ans++;
moneyp.pop();
dis[yp]=1;
}
else
{
if(sum+xc-moneycha.top()>m)
{
break;
}
sum+=xc-moneycha.top();
ans++;
moneyc.pop();
dis[yc]=1;
moneycha.pop();
moneycha.push(-(p[yc]-c[yc]));
}
}
}
}
cout<<ans;
return 0;
}