#include #define MAXN 100005 #define MAXM 1005 #define ll long long using namespace std; int n,m; ll dp[1005]; ll cost[105],val[105]; vector G[1005]; int main() { int tt; scanf("%d",&tt); for(int t=1; t<=tt; t++) { scanf("%d%d",&m,&n); for(int i=1; i<=n; i++) scanf("%lld%lld",&val[i],&cost[i]); memset(dp,0,sizeof dp); dp[0] = 0; for(int i=1; i<=n; i++) { for(int j=m; j>=cost[i]; j--) { if(dp[j] < dp[j-cost[i]]+val[i]) { dp[j] = dp[j-cost[i]]+val[i]; G[j] = G[j-cost[i]]; G[j].push_back(i); } } } ll ccc = 0; for(int i=0; i