#include #include #include #include using namespace std; int cnt; map id; inline int ID(const string &s) { if(!id.count(s)) id[s]=cnt++; return id[s]; } const int maxn=1005; struct Component { int price; int quality; }; int n,b; vector comp[maxn]; bool ok(int q) { int sum=0; for(int i=0;i=q) cheapest=min(cheapest,comp[i][j].price); if(cheapest==b+1) return false; sum+=cheapest; if(sum>b) return false; } return true; } int T; int main() { #ifdef local freopen("pro.in","r",stdin); #endif scanf("%d",&T); while(T-->0) { scanf("%d%d",&n,&b); cnt=0; for(int i=0;i