每次取价格最小的。
/*
PROG: milk
LANG: C++
*/
#include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define rep(i,a,b) for(i=a;i<=b;i++)
using namespace std;
struct A
{
int p,a;
}f[5005];
bool cmp(A a,A b)
{
return a.p<b.p;
}
int main()
{
freopen("milk.in","r",stdin);
freopen("milk.out","w",stdout);
int n,m,i;
scanf("%d%d",&n,&m);
rep(i,0,m-1) scanf("%d%d",&f[i].p,&f[i].a);
sort(f,f+m,cmp);
int ans=0;
rep(i,0,m-1)
{
if(!n) break;
if(f[i].a<=n) n-=f[i].a,ans+=f[i].p*f[i].a;
else ans+=f[i].p*n,n=0;
if(!n) break;
}
printf("%d\n",ans);
return 0;
}