'use strict'

const INF = 900719925474099;
function mapint(temp){
    return temp.split(' ').map((v)=>parseInt(v));
}

function lower_bound(d,a,b,e){
    for(var c;1<b-a;)
        d[c=0|(a+b)/2]<e ? a=c : b=c;
    return d[a]<e?b:a
};

const MOD = 1000000007;

function Main(input){
    let temp = input.trim().split('\n');
    let n = parseInt(temp[0]);
    
    let ab = new Array(n);
    let tt;
    for(let i=0;i<n;i++){
      tt = mapint(temp[i+1]);
      ab[i] = {a:tt[0],b:tt[1]};
    }
    ab.sort((c,d)=>c.b-d.b);
    let sum = 0;
    let f = true;
    for(let i=0;i<n;i++){
      sum += ab[i].a;
      if(sum > ab[i].b){
        f=false;
        break;
      }
    }
    //console.log(ab.map((v)=>v.a + ' ' + v.b));
    if(f) console.log('Yes');
    else console.log('No');

}
//*この行以降は編集しないでください（標準入出力から一度に読み込み、Mainを呼び出します）
Main(require("fs").readFileSync("/dev/stdin", "utf8"));

