#include using namespace std; #define MOD 1000000007 #define MOD2 998244353 #define rep(i,n) for (int i = 0; i < (int)(n); i++) #define reps(i,s,n) for (int i = (int)(s); i < (int)(n); i++) #define repit(i,C) for (auto i = (C).begin(); i != (C).end(); i++) #define pr(a) cout << a #define prl(a) cout << (a) << endl #define prld(a) cout << setprecision(15)<< (a) << endl #define allrange(a) a.begin(),a.end() int solve(){ return 0; } int main(){ std::cin.tie(0); // cinとcoutの同期を解除 std::ios::sync_with_stdio(false); int N;cin >> N; // int N,M;cin >> N>>M; // int N,M,K;cin >> N>>M>>K; vector> B; int64_t tot=0; rep(i,N) { int64_t a;int64_t b; cin >> a>> b; tot += a; B.push_back(make_pair(b,a)); } sort(allrange(B)); int64_t ntot = 0; bool flg=true; int64_t before_a=0; int64_t before_b=0; vector> C; while(true){ C=vector>(0); repit(itr,B){ if(ntot>itr->first){ if(ntot-before_a <= itr->first){ ntot -= before_a; C.push_back(make_pair(before_b,before_a)); } else {flg=false; break;} } ntot += itr->second; before_a = itr->second; before_b = itr->first; } if(C.empty()) break; if(C.size()==B.size()) {flg=false; break;} sort(allrange(C)); B=C; } // if(flg) prl(ans); else prl(-1); if(flg) prl("Yes"); else prl("No"); }