#include <stdio.h>
#include <algorithm>
#include <utility>

int main(void){
	int n, sum;
	bool NGflag;
	// first... テ」ツ?敕」ツ?ョテ・ツウツカテ」ツ?ョテヲツゥツ凝」ツ?ョティツ?静、ツケツ?・ツ環? second... テ」ツ?敕」ツ?ョテ・ツウツカテ」ツ?ョテ・ツョツ敕」ツ?ョテゥツ??
	std::pair<int, int> bridge[30];

	while (true){
		scanf("%d", &n);
		if (n == 0){ break;	}

		// テ・ツ?・テ・ツ環崚」ツつ津・ツ渉療」ツ?妥・ツ渉姪」ツつ?
		for (int i = 0; i < n; i++){ scanf("%d%d", &bridge[i].second, &bridge[i].first); }
		std::sort(&bridge[0], &bridge[n]);

		// ティツィツ暗ァツョツ?
		sum = 0;
		NGflag = false;
		for (int i = 0; i < n; i++){
			sum += bridge[i].second;
			if (sum > bridge[i].first){
				NGflag = true;
				break;
			}
		}

		// テ・ツ?コテ・ツ環?
		if (NGflag){ printf("No\n"); }
		else{ printf("Yes\n"); }
	}

	return 0;
}