#include<bits/stdc++.h>
using namespace std;
//
//n需要牛奶100 农民:5
//单价 牛奶量
//3 10 30
//5 20 100
//6 30 180
//8 80 320
//9 40
//需要根据单价排序 还剩下多少没买now100 当前花了多少money
// 循环从上到下
// 比较10大还是now大
// 如果now大
// 全买money+=单价*10
// 如果10大
// 买足够的就够了money+=单价*now
// 买完了直接结束
//
int n,m,money;
struct Node{
int p,c;
}a[5005];
bool cmp(Node x,Node y){
return x.p<y.p;
}
int main(){
scanf("%d%d",&n,&m);
for(int i=1;i<=m;i++){
cin>>a[i].p>>a[i].c;
}
sort(a+1,a+m+1,cmp);
for(int i=1;i<=m;i++){
if(a[i].c<n){
money+=a[i].p*a[i].c;
n=n-a[i].c;
}
else{
money+=a[i].p*n;
break;
}
}
cout<<money;
return 0;
}
/**************************************************************
Problem: 1940
User: admin
Language: C++
Result: Accepted
Time:49 ms
Memory:2116 kb
****************************************************************/