/*
ID: awsd1231
PROG: milk
LANG: C++
*/
#include<iostream>
#include<cstdio>
#include<map>
#include<algorithm>
using namespace std;
const int maxn =5000 + 10;
int n, m;
struct Pa {
int p;
int pa;
};
Pa pa[maxn];
bool operator < ( Pa a, Pa b) {
if(a.p < b.p) return true;
else return false;
}
int main() {
freopen("milk.in", "r", stdin);
freopen("milk.out", "w", stdout);
cin >> n >> m;
for(int i = 0; i != m; ++i)
cin >> pa[i].p >> pa[i].pa;
sort(pa, pa+m);
int need = n, cost = 0, idx = 0;
while(need > 0) {
cost += pa[idx].p * pa[idx].pa;
need -= pa[idx++].pa;
}
cost -= pa[--idx].p * pa[idx].pa;
need += pa[idx].pa;
while(need--)
cost += pa[idx].p;
cout << cost << endl;
return 0;
}