#include<bits/stdc++.h>
using namespace std;
struct c
{
double jz=0;
int id=0,sj=0,zj=0;
};
int main()
{
long long n,m,n1,n2,n3=1,ans=0;
cin>>n>>m;
c a[m+1];int j2=m;
for(int i=1;i<=m;i++)
{
cin>>n1>>n2;
if(n2!=0&&n1!=0)
{a[n3].sj=n1;
a[n3].jz=1.0*n2/n1;
a[n3].zj=n2;
n3++;//时间为0不可能,价值为0采了不如不采
}
}
for(int i=1;i<=m;i++)
{
for(int j=i+1;j<=m;j++)
{
if(a[j].jz<a[j-1].jz)
{
swap(a[j].jz,a[j-1].jz);
swap(a[j].zj,a[j-1].zj);
swap(a[j].sj,a[j-1].sj);
}
}
}//排序
while(j2>=1&&n>0)
{
ans+=(n/a[j2].sj)*(a[j2].zj);
//时间足够,一直采到时间不够了为止
n%=a[j2].sj;
//花费时间
j2--;//下一个!
}
cout<<ans;
return 0;
}
玄关!!本蒟蒻真的哭死