#include<bits/stdc++.h>
using namespace std;
struct hk{
	int dj;
	int sl;
}a[1100]; 
bool mup(hk x,hk y){
	if(x.dj<y.dj) return true;
	else return false;
}
int main(){
    int m,n,s=0,c=0,t=0;
    cin>>m>>n;
    for(int i=1;i<=n;i++) cin>>a[i].dj>>a[i].sl;
    sort(a+1,a+1+n,mup);
    if(a[1].sl>=m) s=m*a[1].dj;
	else{
		s=a[1].dj*a[1].sl;
	    c=c+a[1].sl;
	    t=m-c;
		for(int i=2;i<=n;i++){
				if(a[i].sl>=t){
					s=s+a[i].dj*t;
					c=c+t;
				}
				else{
				s=s+a[i].dj*a[i].sl;
	            c=c+a[i].sl;
	            t=m-c;
				}
			if(c==m) break;
		}
	} 
	cout<<s;
	return 0;
}

/**************************************************************
	Problem: 1730
	User: duyahan
	Language: C++
	Result: Accepted
	Time:20 ms
	Memory:2084 kb
****************************************************************/