#include #include #include #include #include using namespace std; long long dp[100005]; int main() { int n; int w; cin>>w>>n; vectorweight; vectorvalue; for(int i=0; i>a>>b; value.push_back(a); weight.push_back(b); } for(int i=0; i<=w; i++){ dp[i]=-1e18; } dp[w]=0; for(int i=w; i>=0; i--){ for(int j=0; j= 0){ dp[i-weight[j]]=max(dp[i-weight[j]], dp[i]+value[j]); } } } long long result=0; for(int j=0; j<=w; j++){ result=max(result, dp[j]); } cout<