1 #include<stdio.h>
 2 typedef struct value
 3 {
 4     int v;/*价值*/
 5     int w;/*重量*/
 6 }thing;
 7 int main()
 8 {
 9     int n;
10     scanf("%d",&n);
11     while(n--)
12     {   
13         int s,m,j,i=0,sumv=0,sumw=0;
14         scanf("%d%d",&s,&m);
15         thing a[s],t;
16         while(i!=s)
17         {
18             scanf("%d%d",&a[i].v,&a[i].w);
19             i++;
20         } 
21         for(i=0;i<s-1;i++)
22             for(j=i;j<s;j++)
23             {
24                 if(a[i].v<a[j].v)
25                 {
26                     t=a[i];
27                     a[i]=a[j];
28                     a[j]=t;
29                 }
30             }
31         int ww=0,vv=0;
32         i=0;
33         while(sumw<m)
34         {
35             ww=sumw;
36             vv=sumv;
37             sumw=sumw+a[i].w;
38             sumv=sumv+a[i].w * a[i].v;
39             i++;
40             while(i==s)
41                 break;
42         }
43         if(sumv>m)
44               sumv=vv+(m-ww)*a[i-1].v;
45         printf("%d\n",sumv);
46     }
47 }