object D {

  def main(args: Array[String]): Unit = {

    val Array(n,m) = readLine().split(" ").map(_.toInt)


    val arbeiten = Array(0,0) :: (0 until n)
      .map(_ => readLine().split(" ").map(_.toInt)).toList
      
    var availableArbeiten = arbeiten.filter(_(0) <= 0).sortBy(-_(1))

    val totalReward = (for { 
      leftDays <- 0 to m
    } yield {
      val reward = availableArbeiten.headOption.map(_(1)).getOrElse(0)
      availableArbeiten = ((arbeiten.filter(_(0) == leftDays + 1)) ++ 
        (if(availableArbeiten.size == 0) Nil else availableArbeiten.tail)).sortBy(-_(1))
      reward
    }).sum

    println(totalReward)
  }
}