#include<stdio.h>
int main(){
long long t, p, n, m, i, j, sum=0, pri=0, k=0;
scanf("%ld%ld",&n, &m);
struct milk
{
long mon, cnt;
}a[5001];
for(i=0;i<m;i++)
scanf("%ld%ld",&a[i].mon, &a[i].cnt );
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(a[j].mon>a[j+1].mon) //冒泡排序交换单价与数量
{
t=a[1+j].mon;
a[j+1].mon=a[j].mon;
a[j].mon=t;
p=a[j+1].cnt;
a[j+1].cnt=a[j].cnt;
a[j].cnt=p;
}
}
}
for(k=0;sum<=n;k++)
{
sum+=a[k].cnt; //计算牛奶总量
pri+=a[k].cnt*a[k].mon; //计算总价
}
if(sum==n)
printf("%lld",pri);
else //若sum>n,减去多算的部分
{
pri=pri-(sum-n)*a[k-1].mon;
printf("%lld",pri);
}
return 0;
}