#include<bits/stdc++.h>
using namespace std;
const int N=1e6+5;
struct Node{
int t,b;
}a[N];
bool cm(Node a,Node b){
return a.b<b.b;
}
int n,sum,ans;
priority_queue<int> q;
int main(){
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i].t>>a[i].b;
sort(a+1,a+n+1,cm);
for(int i=1;i<=n;i++){
sum+=a[i].t;
q.push(a[i].t);
if(sum<=a[i].b)ans++;
else{
sum-=q.top();
q.pop();
}
}
cout<<ans;
return 0;
}