#include<bits/stdc++.h>
using namespace std;
using ll = long long;
vector<ll> calculate_costs(vector<int> w, vector<int> a, vector<int> b, vector<int> e){
vector<ll> ans;
int n = w.size();
ll SUM = 0;
ll SUMv = 0;
for (auto &p : b){
SUM += p;
SUMv += p;
}
if (n % 2 == 1){
ll MIN = 1000000000000000000;
for (int i = 0; i < n; i++){
ll diff = a[i] - b[i];
MIN = min(MIN, diff);
}
SUM += MIN;
// Men hvis D = 1, er der noget der er umuligt
ll MINv = 1000000000000000000;
for (int i = 0; i < n; i += 2){
ll diff = a[i] - b[i];
MINv = min(MINv, diff);
}
SUMv += MINv;
}
for (int i = 0; i < (int)e.size(); i++){
if (e[i] == 1){
ans.push_back(SUMv);
continue;
}
ans.push_back(SUM);
}
return ans;
}