#include<bits/stdc++.h>
using namespace std;
//
//n需要牛奶100 农民:5
//单价	牛奶量 
//3		 10			30
//5		 20			100
//6		 30			180
//8		 80			320
//9		 40
//需要根据单价排序   还剩下多少没买now100 当前花了多少money 
//	循环从上到下
//		比较10大还是now大
//		如果now大
//			全买money+=单价*10
//		如果10大
//			买足够的就够了money+=单价*now
//			买完了直接结束 
//	 

int n,m,money; 
struct Node{
	int p,c;
}a[5005];
bool cmp(Node x,Node y){
	return x.p<y.p;
}
int main(){
	scanf("%d%d",&n,&m);
	for(int i=1;i<=m;i++){
		cin>>a[i].p>>a[i].c;
	}
	sort(a+1,a+m+1,cmp);
	for(int i=1;i<=m;i++){
		if(a[i].c<n){
			money+=a[i].p*a[i].c;
			n=n-a[i].c;
		} 
		else{
			money+=a[i].p*n;
			break;
		}
	}
	cout<<money;
	return 0;
}

/**************************************************************
	Problem: 1940
	User: admin
	Language: C++
	Result: Accepted
	Time:49 ms
	Memory:2116 kb
****************************************************************/