#include<bits/stdc++.h>
using namespace std;
struct jc
{
int dian;
int liang;
}geshu[2000010];
bool pan(jc a, jc b)
{
if(a.dian<b.dian)
{
return a.dian < b.dian;
}
return a.dian > b.dian;
}
int main(void)
{
int n, m;
scanf("%d%d", &n, &m);
for(int i = 1;i <= m;i++)
{
scanf("%d%d", &geshu[i].dian, &geshu[i].liang);
}
long long ans = 0, point = 0;
sort(geshu, geshu+m, pan);
for(int i = 1;i <= m;i++)
{
if(point >= n)
{
break;
}
if(geshu[i].liang+point>n)
{
ans+=(n-point)*geshu[i].dian;
break;
}
else
{
ans+=geshu[i].dian*geshu[i].liang;
point += geshu[i].liang;
}
}
printf("%lld", ans);
return 0;
}