#include <bits/stdc++.h>
using namespace std;
const int N=20100;
int all[N];
int dp[N][N];
int num[N];
signed main(){
int money,kind;
cin>>money>>kind;
for(int i=1;i<=kind;i++){
int a=0;
cin>>num[i]>>a;
all[i]=num[i]*a;
}
int max1=-1;
for(int i=1;i<=kind;i++){
for(int j=1;j<=money;j++){
if(j<num[i]) dp[i][j]=dp[i-1][j];
else{
dp[i][j]=max(dp[i-1][j-num[i]]+all[i],dp[i-1][j]);
}
if(dp[i][j]>max1) max1=dp[i][j];
}
}
cout<<max1;
return 0;
}
求LaoDa(DaLao)们帮忙调一下!