#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int n;
long long aoki;
ll taka;
ll a[300001],b[300001],c[300001];
bool cp(ll k,ll l){
	return k>l;
}
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		scanf("%lld%lld",&a[i],&b[i]);
		c[i]=a[i]+b[i]+a[i];
		aoki+=a[i];
	}
	sort(c+1,c+1+n,cp);
	for(int i=1;i<=n;i++){
		 taka+=c[i];
		 if(taka>aoki){
		 	printf("%d",i);
		 	return 0;
		 }
	}
	return 0;
}
#include <bits/stdc++.h>
using namespace std;

struct Rectangle {
  int a, b, c, d;

  void update(int a_, int b_, int c_, int d_) {
    a = a_;
    b = b_;
    c = c_;
    d = d_;
  }
  friend ostream &operator<<(ostream &os, const Rectangle &x) {
    return os << x.a << ' ' << x.b << ' ' << x.c << ' ' << x.d;
  }
};

int main() {
  int n;
  cin >> n;

  vector<int> x(n), y(n), r(n);
  for (int i = 0; i < n; i++) {
    cin >> x[i] >> y[i] >> r[i];
  }

  vector<Rectangle> ans(n);
  for (int i = 0; i < n; i++) {
    ans[i].update(x[i], y[i], x[i] + 1, y[i] + 1);
  }
  for (int i = 0; i < n; i++) {
    cout << ans[i] << endl;
  }

  return 0;
}
