while 1:
	n = int(raw_input())
	if n == 0:
		break
	bridge = [0 for i in range(n)]
	gold = [0 for i in range(n)]
	for i in range(n):
		gold[i], bridge[i] = map(int,raw_input().split(" "))
	dp = {0:0}
	for i in range(n):
		tmp_dp = dict()
		for k,v in dp.iteritems():
			for j in range(n):
				bit = 1 << j
				if (k & bit != 0):
					continue
				if v + gold[j] <= bridge[j]:
					tmp_dp[k|bit] = v + gold[j]
		dp = tmp_dp
	print "Yes" if (2**n - 1) in dp else "No"