#include<iostream>
#include<algorithm>
#include<string>
#include<cstring>
using namespace std;
struct pepole{
int danjia;
int chanliang;
};
int n,m;
bool cmp(pepole x,pepole y){
if(x.danjia>y.danjia)return false;
if(x.danjia==y.danjia){
if(x.chanliang<y.chanliang)return false;
}
return true;
}
int main(){
pepole p[110000];
cin>>n>>m;
for(int i=0; i<m; i++){
cin>>p[i].danjia>>p[i].chanliang;
}
sort(p,p+m,cmp);
long long ans=0,money=0;
for(int i=0;i<m;i++){
for(int j=0;j<p[i].chanliang;j++){
ans++;
money+=p[i].danjia;
if(ans==n){
cout<<money;
return 0;
}
}
}
cout<<0;
}