#include<vector>
#include<algorithm>
#include<cstdio>
#include<cstring>
using namespace std;
template<class T>
class Bit{
public:
	vector<T> a;
	Bit(int n):a(n){
	}
	T operator[](int p){
		T sm=0;
		for(;p>=0;p=(p&p+1)-1)
			sm+=a[p];
		return sm;
	}
	void update(int p,T q){
		for(;p<(int)a.size();p|=p+1)
			a[p]+=q;
	}
};
struct S{
	int a,b;
	bool operator<(const S& p)const{
		return a<p.a;
	}
};
int main(){
	int i;
	int n;
	scanf("%d",&n);
	S a[300000];
	for(i=0;i<n;++i)
		scanf("%d%d",&a[i].a,&a[i].b);
	sort(a,a+n);
	Bit<long long> b(100000);
	Bit<int> c(100000);
	int mx=0;
	for(i=0;i<n;++i){
		b.update(100000-a[i].b,a[i].a);
		c.update(100000-a[i].b,1);
		for(int p=c[c.a.size()-1];b[b.a.size()-1]>(100001-b.a.size())*p;p=c[c.a.size()-1]){
			mx=max(mx,p-1);
			b.a.pop_back();
			c.a.pop_back();
			if(!b.a.empty())
				continue;
			printf("%d\n",mx);
			return 0;	
		}
	}
	for(i=0;i<(int)c.a.size();++i)
		mx=max(mx,c[i]);
	printf("%d\n",mx);
	return 0;
}