#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;
vector<ll> calculate_costs(vector<int>w,vector<int>a,vector<int>b,vector<int>e){
//subtask 2
/*
sum = sum of b[i] over all indexes
case 1: 2|n -> return sum
case 2:
find the minimum a[i]-b[i], denote as mn
case 2.1: if mn=0 or mn=n-1, return sum + a[mn]- b[mn]
case 2.2: if mn!=0 and mn!=n-1:
case 2.2.1: e[i]!=1 for the current i:
return sum + a[mn] - b[mn]
case 2.2.2: e[i]=1 for the current i:
mn = 0 if a[0]-b[0]<=a[n-1]-b[n-1]
mn = n-1 otherwise
return answer for case 2.1 with the new mn
*/
ll sum=0;
int n=w.size();
int q=e.size();
for(int i=0;i<n;i++) sum+=b[i];
if(n%2==0){
vector<ll> ans(q,sum);
return ans;
}
int mn=0;
for(int i=0;i<n;i++) if(a[mn]-b[mn]>a[i]-b[i]) mn=i;
if(mn==0||mn==n-1){
sum-=b[mn];
sum+=a[mn];
vector<ll>ans(q,sum);
return ans;
}
vector<ll>ans(q);
for(int i=0;i<q;i++){
if(e[i]!=1) ans[i]=sum+a[mn]-b[mn];
else{
int mn_2;
if(a[0]-b[0]<=a[n-1]-b[n-1]) mn_2=0;
else mn_2=n-1;
ans[i]=sum+a[mn_2]-b[mn_2];
}
}
return ans;
}