program main
 implicit none
 integer*8 N,i,ind,one
 integer*8, allocatable :: AB(:,:)
 data one /1/
 read(*,*) N
 allocate(AB(2,1:N))
 do i=1,N
  read(*,*) AB(1,i),AB(2,i)
 end do
 call quicksort(AB,one,N)
 
 ind = AB(2,N)
 do i=N,1,-1
  if(ind > AB(2,i)) then
   ind = AB(2,i)
  end if
  ind = ind - AB(1,i)
  if(ind < 0) then
   write(*,*) 'No'
   exit
  end if
  !write(*,*) ind
 end do
 if(ind >= 0)then
  write(*,*) 'Yes'
 end if
 
contains
 recursive subroutine quicksort(a, first, last)
  implicit none
  integer*8  a(2,*)
  integer*8 first, last
  integer*8 i, j
  integer*8 x
  integer*8 t(1:2)
  
  x = a(2, (first+last) / 2 )
  i = first
  j = last
  do
     do while (a(2,i) < x)
        i=i+1
     end do
     do while (x < a(2,j))
        j=j-1
     end do
     if (i >= j) exit
     t = a(:,i);  a(:,i) = a(:,j);  a(:,j) = t
     i=i+1
     j=j-1
  end do
  if (first < i - 1) call quicksort(a, first, i - 1)
  if (j + 1 < last)  call quicksort(a, j + 1, last)
 end subroutine quicksort
end program main