#include<iostream>
#include<algorithm>
using namespace std;
struct nn{
int d,s;
};
nn a[1000005];
bool gd(const nn &a,nn &b){
if(a.d!=b.d){
return a.d<b.d;
}
}
int main(){
int n,m,fy;
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>a[i].d>>a[i].s;
}
sort(a+1,a+m+1,gd);
for(int i=1;i<=m;i++){
if(n>0){
if(n>a[i].s){
n=n-a[i].s;
fy=fy+a[i].d*a[i].s;
}
else if(n<=a[i].s){
fy=fy+a[i].d*n;
n=n-a[i].s;
}
}
}
cout<<fy;
}
求助,有一个点是RE,87分,那里错了呀(蒟蒻一个)