#include<bits/stdc++.h>
using namespace std;
const int N=1e3+10;
int n,m,f[N],a[N],b[N];
int main()
{
cin>>m>>n;
for(int i=1;i<=n;i++){
cin>>a[i]>>b[i];
b[i]*=a[i];
}
for(int i=1;i<=n;i++){
for(int j=m;j>=a[i];j--){
f[j]=max(f[j],f[j-a[i]]+b[i]);
}
}
cout<<f[m]<<endl;
return 0;
}
原题