#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<ll, ll> l_l;
typedef pair<int, int> i_i;
#define rep(i,n) for(int i=0;i<n;++i)

int main(){
int n,m;
cin>>n>>m;
int cnt=0;
vector<vector<int>> w(m+2);
priority_queue <int> que;
rep(i,n){
  int a,b;
  cin>>a>>b;
  if (a>m+1)continue;
  w[a].emplace_back(b);
}
ll ans=0;
for (int i=1;i<m+1;i++){
  for (auto j:w[i]){
  que.push(j);
}
if (!que.empty()){
ans+=que.top();
que.pop();
}
}
cout<<ans;
}
