← Home
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int T,n;
ll k,ans,a[201000],b[201000],c[201000],c2[201000];
ll t(ll x){
	if(x<=k)return x;
	return k+(x-k)*2;
}
void sol(){
	ans=0;
	scanf("%d%lld",&n,&k);ll all=0;
	for(int i=1;i<=n;i++)scanf("%lld",&a[i]),all+=a[i];
	for(int i=1;i<=n;i++)scanf("%lld",&b[i]);
	bool fl=0;
	for(int i=1;i<=n;i++)
		if(b[i]==1){
			fl=1;
			int u=i;ll z=a[i];
			while(b[u%n+1]==2)u=u%n+1,z+=a[u];
			ans+=t(z);
			u=i;ll z2=a[i];
			while(b[u%n+1]==2)u=u%n+1,c[u]=z2,c2[u]=z-z2,z2+=a[u];
		}
	for(int i=1;i<=n;i++){
		if(!fl){printf("%lld ",all*2);continue;}
		if(b[i]==1)printf("%lld ",ans);
		else printf("%lld ",ans-t(c[i]+c2[i])+t(c[i])+c2[i]*2);
	}
	puts("");
}
int main(){
	scanf("%d",&T);
	while(T--)sol(); 
	return 0;
}