#include <bits/stdc++.h>
using namespace std;
int n,m;
long long a[201],b[201],c[21][201],q,ans;
inline long long qpow(long long x,long long ret)
{
if(!ret)return 1;
long long p=qpow(x,ret>>1);
return ret&1?p*p*x:p*p;
}
inline void dfs(int tyzc,int sxyz,int now,long long po)
{
if(sxyz==n)
{
ans=min(ans,po);return ;
}
if(tyzc==m+1)return ;
for(int i=0;i<=n-sxyz;++i)
{
dfs(tyzc+1,sxyz+i,i,po+c[tyzc][i]);
}
return ;
}
int main()
{
ans=0xfffffffffffffff;
scanf("%d%d",&n,&m);
for(int i=1;i<=m;++i)
{
scanf("%lld%lld",a+i,b+i);
for(int j=1;j<=n;++j)
{
c[i][j]=a[i]*qpow(j,b[i]);
}
}
dfs(0,0,0,0);
printf("%lld",ans);
return 0;
}