#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 ****************************************************************/