//贪心  2025寒假牛客集训1视频讲解
/*先按结束时间从小到大排序
  然后枚举每个结束时间 从最小的修理时间开始加入队列里
  队头是当前加入的最耗时的修理时间 
  遇到更优的(更短的修理时间)就换
*/
#include<bits/stdc++.h>
#define int long long
#define fi first
#define se second
using namespace std;
typedef pair<int,int> pii;
const int N=2e5+9;
priority_queue<int>q;
pii a[N];
int ans;
signed main(){
    int n,t,ed;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>t>>ed;
        a[i]={ed,t};
    }
    sort(a+1,a+1+n);
    int cnt=0;
    for(int i=1;i<=n;i++){
        if(cnt+a[i].se<=a[i].fi){
            ans++;cnt+=a[i].se;
            q.push(a[i].se);
        }
        else if(q.top()>a[i].se){
            cnt-=q.top();q.pop();
            cnt+=a[i].se;
            q.push(a[i].se);
        }
    }
    
    cout<<ans;
    
    
    return 0;
}