import std.stdio, std.math, std.algorithm, std.array, std.string, std.conv, std.container, std.range;
T Read(T)() { return readln.chomp.to!(T); }
T[] Reads(T)() { return readln.split.to!(T[]); }
alias read = Read!(int);
alias reads = Reads!(int);

struct P {
    int a, b;
}

void main() {
    int n = read();
    P[] ps = new P[n];
    foreach (ref p ; ps)
        readf("%d %d\n", &p.a, &p.b);
    ps.sort!("a.b < b.b");

    long sm;
    foreach (p ; ps) {
        sm += p.a;
        if (sm > p.b) {
            writeln("No");
            return;
        }
    }
    writeln("Yes");
}
