#include<bits/stdc++.h>
using namespace std;
const int M = 1e9+1;
long long a[30], b[30], f[30][300];
int n, m;
int quick_pow(int x, int y)
{
long long temp = x, ans = 1;
while(y)
{
if(y % 2) ans = ans * temp;
temp = temp * temp;
y = y / 2;
}
return ans;
}
int main()
{
scanf("%d%d", &n, &m);
for(int i = 1; i <= m; i ++) scanf("%d%d", &a[i], &b[i]);
for(int i = 0;i <= m;i ++)
for(int j = 1;j <= n;j ++)
f[i][j] = M;
for(int i = 1; i <= m; i ++)
for(int j = 1; j <= n; j ++)
for(int k = 0; k <= j; k ++)
f[i][j] = min(f[i][j], f[i - 1][j - k] + a[i] * quick_pow(k, b[i]));
printf("%d", f[m][n]);
return 0;
}