#include <bits/stdc++.h>
using namespace std;
const long long int INF = INT_MAX / 3;
const long long int MOD = 1000000007;
const double EPS = 1e-14;
const int dx[] = {1, 0, -1, 0}, dy[] = {0, 1, 0, -1};
int main() {
  while (true) {
    int n;
    cin >> n;
    if (n == 0) break;
    vector<pair<long long int, long long int> > v;
    for (int i = 0; i < (n); i++) {
      pair<long long int, long long int> temp;
      cin >> temp.first >> temp.second;
      v.push_back(temp);
    }
    sort((v).begin(), (v).end());
    long long int sum = 0;
    bool flg = true;
    for (int i = 0; i < (n); i++) {
      sum += v[i].first;
      flg = (sum <= v[i].second);
      if (!flg) break;
    }
    printf("%s\n", flg ? "Yes\0" : "No\0");
  }
  return 0;
}
