#include<stdio.h>
#include<math.h>
int max(int a,int b){
return (a>b)?a:b;
}
int main(){
int t,m;
scanf("%d%d",&t,&m);
int q,i,j;
long long load[m+21][t+21];
int time[10005]={0};
int worth[10005]={0};
for ( q=1;q<=m;q++){
scanf("%d%d",&time[q],&worth[q]);
}
for ( i=1;i<=m;i++){
for ( j=t;j>=1;j--){
load[i][j]=load[i-1][j];
if (j>=time[i]){
long long k=j/time[i];
load[i][j]=max(load[i-1][j],load[i-1][j-k*time[i]]+k*worth[i]);
}
}
}
printf("%lld",load[m][t]);
return 0;
}