#include using namespace std; using ll=long long; ll solve(int n,ll k,vector a,vector b,vector c,vector d){ set> s; ll inf=1e18; s.insert(make_pair(inf,k)); ll sum=k; ll base=0; for(int i=0;ic[i])break; if(cnt+v<=d[i]){ cnt+=v; sum-=v; t+=v*x; s.erase(s.begin()); }else{ t+=(d[i]-cnt)*x; v-=d[i]-cnt; sum-=d[i]-cnt; cnt=d[i]; s.erase(s.begin()); s.insert(make_pair(x,v)); } } s.insert(make_pair(c[i],cnt)); sum+=cnt; base+=c[i]*cnt-t; while(sum>k){ auto[x,v]=*(--s.end()); if(sum-k>=v){ sum-=v; s.erase(--s.end()); }else{ v-=sum-k; sum=k; s.erase(--s.end()); s.insert(make_pair(x,v)); } } /* vector v; for(auto[x,vv]:s)for(int i=0;i ans(k+1); ans[0]=base; for(int i=0;i>ttt; while(ttt--){ int n; ll k; cin>>n>>k; vector a(n),b(n),c(n),d(n); for(int i=0;i>a[i]; for(int i=0;i>b[i]; for(int i=0;i>c[i]; for(int i=0;i>d[i]; cout<