#include #include #include #include #include #include #include #include using namespace std; #define mmst(a, b) memset(a, b, sizeof(a)) #define mmcp(a, b) memcpy(a, b, sizeof(b)) typedef long long LL; const int oo=1e9; int T,b,n; int w[1010],e[1010]; int u[1010],cnt; struct yy { int c,d; LL o,p; }f[1010]; yy gy(yy x,yy y) { if(x.c==y.c&&x.d==y.d&&x.o==y.o) if(x.p>y.p) return x; else return y; if(x.c==y.c&&x.d==y.d) if(x.o>y.o) return x; else return y; if(x.c==y.c) if(x.dy.c) return x; return y; } int main() { cin>>T; for(int ii=1;ii<=T;ii++) { cin>>b>>n; for(int i=1;i<=n;i++) scanf("%d%d",&w[i],&e[i]); for(int i=0;i<=1000;i++) { f[i].d=f[i].c=0; f[i].o=f[i].p=0ll; } cnt=0; for(int i=1;i<=n;i++) { for(int j=b;j>=e[i];j--) { yy hy; hy.c=-1; hy=gy(hy,f[j-e[i]]); hy.c+=w[i]; hy.d+=i; int q=100-i; if(q>=50) { q-=50; hy.o+=(1ll<=0;i--) if((1ll<=0;i--) if((1ll<