#include<bits/stdc++.h>
using namespace std;
const int N=1e5+6;
int n,m,num[N][2],d[N],f[N],maxx;
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>num[i][0]>>num[i][1];
}
for(int i=1;i<=m;i++){
for(int j=i+1;j<=m;j++){
if(num[i][1]<num[j][1]){
int em1=num[i][1],em=num[i][0];
num[i][1]=num[j][1],num[i][0]=num[j][0];
num[j][1]=em1,num[j][0]=em;
}
}
}
for(int i=1;i<=m;i++){
for(int j=n;j>=num[i][0];j--){
f[j]=max(f[j],f[j-num[i][0]]*num[i][1]);
if(maxx<f[j]){
maxx=f[j];
}
}
}
cout<<maxx;
return 0;
}