#include<iostream>
#include<algorithm>
#define N 10000
struct Node{
int k, n;
bool operator < (Node s){
return k<=s.k;
}
}a[N];
int n,m,ans=0,k=1;
int main() {
std::cin >> n >> m;
for (int i = 1; i <=m; i++) std::cin >> a[i].k >> a[i].n;
std::sort(a+1, a +1+ m);
while (n > 0) {
if (a[k].n <= n) {
n -= a[k].n;
ans +=( a[k].n*a[k].k);
}
else {
ans += (n*a[k].k);
break;
}
k++;
}
std::cout << ans<<std::endl;
return 0;
}