#include<bits/stdc++.h>
using namespace std;
int n,m;
struct stt
{
	long long a,b;
}st[1000000];
bool cmp(stt p,stt q)
{
	return p.a<q.a;
}
int main()
{
	while(	cin>>n>>m)
	{
	
	for(int i=1;i<=n;i++)
	{
		cin>>st[i].a>>st[i].b;
	}
	sort(st+1,st+n+1,cmp);
	long long sum=0;
	priority_queue<int> q;
	int id=1;
	for(int i=1;i<=m;i++)
	{
		while(st[id].a<=i&&id<=n)
		{
			q.push(st[id].b);
			id++;
		}
		if(q.empty()) continue;
		sum=sum+q.top();
		q.pop();
	}
	printf("%lld",sum);
	}
	return 0;
} 