// inputに入力データ全体が入る
function Main(input) {
	// 1行目がinput[0], 2行目がinput[1], …に入る
	input = input.split("\n");
  var tmp = input[0].trim().split(' ');
  var n = parseInt(tmp[0]);
  var m = parseInt(tmp[1]);


  var table = [];
  for (var i = 1; i < input.length; i++) {
    var tmp = separateSpace(input[i]);
    table[i-1] = toIntAll(tmp);
  }

  table = sortByDay(table);


  // console.log(sortByDay(table));
  // console.log(sortByReward(table));
  // return;


  var sum = 0;
  var forgivenDay = 1;
  var sliceStartIndex = 0;
  var checkTable = []

  for (var i = 0; i < table.length; i++) {
    if(  (table[i][0] > forgivenDay) || (i == (table.length-1))  ){
      var tmpTable = table.slice(sliceStartIndex, i);
      checkTable = checkTable.concat(tmpTable);
      checkTable = sortByReward(checkTable);

      var choice = checkTable.pop();
      sum += choice[1];

      sliceStartIndex = i;
      forgivenDay++;
    }
  }


  while(forgivenDay <= m){
    var choice = checkTable.pop();
    sum += choice[1];

    console.log(choice);
    forgivenDay++;
  }

	//文字列から10進数に変換するときはparseIntを使います

	//出力
	console.log('%d',sum);
}
//*この行以降は編集しないでください（標準入出力から一度に読み込み、Mainを呼び出します）
Main(require("fs").readFileSync("/dev/stdin", "utf8"));

function sortByDay(table){
  return table.sort(function(a,b){
    if(a[0] - b[0] > 0) return 1;
    if(a[0] - b[0] < 0) return -1;
    return b[1] - a[1];
  });
}
function sortByReward(table){
  return table.sort(function(a,b){
    if(a[1] - b[1] > 0) return 1;
    if(a[1] - b[1] < 0) return -1;
    return b[0] - a[0];
  });
}

function toIntAll(input){
  var out = []
  for(var i=0; i<input.length; i++){
    out[i] = parseInt(input[i]);
  }
  return out;
}

//文字列をスペースで分割 -> array
function separateSpace(input){
  return input.trim().split(' ');
}
