#include<bits/stdc++.h>
using namespace std;
#define YTZ 50000
struct sss
{
int p;
int a;
}m[YTZ];
bool cmp(sss q,sss w)
{
if(q.p!=w.p) return q.p<w.p;
return q.a>w.a;
}
int main()
{
int n,s,c,num=1,ans=0;
cin>>n>>s;
c=n;
for(int i=1;i<=s;i++)
{
cin>>m[i].p>>m[i].a;
}
sort(m+1,m+s+1,cmp);
while(c)
{
c=c-m[num].a;
ans=ans+m[num].p*m[num].a;
num++;
if(c-m[num].a<0)
{
break;
}
}
if(c>0) ans=ans+(m[num].a-c)*m[num].p;
cout<<ans;
return 0;
}