#include <stdio.h>
int price[1000000],amount[1000000],rank[1000000];
int main(){
int n,m,sum=0,count=0,temp,x;//sum表示总价,count表示这是第几次购买,x记录当前购买的奶农的录入编号
scanf("%d %d",&n,&m);//读入数据
if(n==0){
printf("0");
return 0;
}
for(int i=0; i<m; i++){
scanf("%d%d",&price[i],&amount[i]);
rank[i]=price[i];
}
for(int i=0; i<m-1; i++){//对当前各种价格排序
for(int j=0; j<m-i-1; j++){//经常忘记冒泡排序的第二重循环要-1
if(rank[j]>rank[j+1]){
temp=rank[j];
rank[j]=rank[j+1];
rank[j+1]=temp;
}
}
}
while(n!=0){//n是还需要购买的牛奶数量
for(int i=0; i<m; i++){//获得当前购买的奶农的录入编号
if(rank[count]==price[i]){
x=i;
count++;//下一次购买更贵的奶
break;
}
}
if(n-amount[x]>=0){
sum+=price[x]*amount[x];
n-=amount[x];
}
else{
sum+=price[x]*n;
n-=n;
}
}
printf("%d\n",sum);
return 0;
}