#include<iostream> #include<algorithm> using namespace std; typedef struct Value{ int v,w; //v是价值 w是重量 }Value; bool cmp(Value a,Value b) //按物品的价值从大到小排序 { return a.v>b.v||(a.v==b.w && a.w>b.w); } int main() { int n,m,s,i,V; Value a[10]; cin>>n; while(n--) { V=0; cin>>s>>m; for(i=0;i<s;i++) cin>>a[i].v>>a[i].w; sort(a,a+s,cmp); // for(i=0;i<s;i++) // cout<<a[i].v<<" "<<a[i].w<<endl; for(i=0;i<s && m!=0;i++) { m-=a[i].w; if(m>=0) V+=a[i].v * a[i].w; else { V+=a[i].v * (a[i].w+m); break; } } cout<<V<<endl; } return 0; }