#include #include #include #include #define ll long long #define lson (rt<< 1) #define rson (rt<< 1 | 1) #define gmid ((l+r)>> 1 ) using namespace std; const int maxn=20000050; ll n,m,x[maxn],y[maxn]; struct node { double s; int k; }a[maxn]; bool cmp(node x,node y) { return x.s>t; while(t--) { cin>>n>>m; for(int i=1;i<=n;++i) { cin>>x[i]>>y[i]; a[i].s=((y[i]*1.0)/x[i]); a[i].k=i; } int j=m; sort(a+1,a+n+1,cmp); ll ans=maxn,sum=0; for(int i=1;i<=n;++i) { j=m; int z=a[i].k; while(j>=x[z]) { j-=x[z]; sum+=y[z]; } if(j>0) { ans=min(sum+y[z],ans); } else ans=min(sum,ans); } cout<