#include<bits/stdc++.h>
using namespace std;
long long n,k,m,ans,minn,f,s,h[500005];
struct node{int p,c,dv;}a[500005];
bool cmp1(node x,node y){return x.c<y.c||x.c==y.c&&x.p>y.p;}
bool cmp2(node x,node y){return x.p<y.p;}
int main(){
cin>>n>>k>>m;
for(int i=1;i<=n;i++)
cin>>a[i].p>>a[i].c,a[i].dv=a[i].p-a[i].c;
sort(a+1,a+n+1,cmp1);
for(int i=1;i<=k;i++)
if(m>=a[i].c)m-=a[i].c,ans++,h[i]=a[i].dv;
else {cout<<ans;return 0;}
sort(a+k+1,a+n+1,cmp2);
for(int i=k+1;i<=n;i++)
{
minn=1e9;
for(int j=1;j<=k;j++)
if(h[j]<minn)minn=h[j],f=j;
if(a[i].dv>minn)
if(m-minn>=a[i].c)
ans++,m-=(a[i].c+minn),h[f]=a[i].p-a[i].c;
else break;
else if(m>=a[i].p)ans++,m-=a[i].p;
else break;
}
cout<<ans;
return 0;
}