object Main {

  def main(args: Array[String]): Unit = {
    val sc = new java.util.Scanner(System.in)

    val N = sc.nextInt()

    // 締め切り順にソート
    val AB: Array[(Long, Long)] =
      Array.fill(N)((sc.nextLong(), sc.nextLong())).sortBy(_._2)

    // 既に, 期限が過ぎていれば, 失敗.
    // まだ 期限が過ぎていなければ 次に進める.
    // どちらにせよ, 全ての仕事を終わらせる必要がある.
    // 短いものを先にやるのと, あとでやるのとでは, その仕事自体の成功には関係ない
    def solve(): Boolean = {
      var i = 0L
      AB.foreach { case (a, b) =>
        if (i + a > b) {
          return true
        }
        i += a
      }
      false
    }

    println(if (solve()) "No" else "Yes")
  }

}