#include <iostream>
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int l,r,ans;
ll n, k, H,c[1510], d[1510];
bool check( int m )
{
ll hp = H;
ll a = 0;
priority_queue<ll> b;
for( int i = 1; i <= m; i++ )
{
b.push( c[i] );
hp -= d[i];
while( hp <= 0 && a < k && !b.empty() )
{
ll best = b.top();
b.pop();
hp += best;
a ;
}
if( hp <= 0 ) return false;
}
return true;
}
int main()
{
cin >> n >> k >> H;
for( int i = 1; i <= n; i )
{
cin >> c[i] >> d[i];
}
r = n;
while( l <= r )
{
int m = (l + r) / 2;
if( check(m) )
{
ans = m;
l = m + 1;
}
else r = m - 1;
}
cout << ans << endl;
return 0;
}