#include<bits/stdc++.h>
using namespace std;
struct hk{
int dj;
int sl;
}a[1100];
bool mup(hk x,hk y){
if(x.dj<y.dj) return true;
else return false;
}
int main(){
int m,n,s=0,c=0,t=0;
cin>>m>>n;
for(int i=1;i<=n;i++) cin>>a[i].dj>>a[i].sl;
sort(a+1,a+1+n,mup);
if(a[1].sl>=m) s=m*a[1].dj;
else{
s=a[1].dj*a[1].sl;
c=c+a[1].sl;
t=m-c;
for(int i=2;i<=n;i++){
if(a[i].sl>=t){
s=s+a[i].dj*t;
c=c+t;
}
else{
s=s+a[i].dj*a[i].sl;
c=c+a[i].sl;
t=m-c;
}
if(c==m) break;
}
}
cout<<s;
return 0;
}
/**************************************************************
Problem: 1730
User: duyahan
Language: C++
Result: Accepted
Time:20 ms
Memory:2084 kb
****************************************************************/