#include<cstdio> #include<memory.h> int mon,num; int dp[30001],x[26],y[26]; int main() { scanf("%d%d",&mon,&num); memset(dp,0,sizeof(int)); for(int i=0;i<num;++i) scanf("%d%d",&x[i],&y[i]); for(int i = 0 ; i < num ; ++i for(int j=mon;j>=x[i];--j) //剪支,之前我是从1开始枚举的T~T。。 if(dp[j-x[i]]+y[i]*x[i] > dp[j]) dp[j] = dp[j-x[i]]+y[i]*x[i]; printf("%d",dp[mon]); return 0; }