#include"bits/stdc++.h"
using namespace std;
using ll=long long;
#define S second
#define F first
struct artifact{ll w,a,b,c;};
vector<ll>calculate_costs(vector<int>w,vector<int>a,vector<int>b,vector<int>e){
int n=w.size();
vector<artifact>v(n);
for(int i=0;i<n;i++)v[i]={w[i],a[i],b[i],a[i]-b[i]};
sort(v.begin(),v.end(),[](auto a,auto b){return a.w<b.w;});
// for(auto i:v)cout<<i.w<<' '<<i.a<<' '<<i.b<<endl;
vector<ll>res;
for(int qry:e){
vector<ll>dp(n,v[0].a);
for(int i=1;i<n;i++){
dp[i]=v[i].a+dp[i-1];
if(v[i].w-v[i-1].w<=qry){
if(i-2>=0)dp[i]=min(dp[i],dp[i-2]+v[i].b+v[i-1].b);
else dp[i]=min(dp[i],v[i].b+v[i-1].b);
}
if(i-2>=0&&v[i].w-v[i-2].w<=qry){
if(i-3>=0)dp[i]=min(dp[i],dp[i-3]+v[i].b+v[i-1].a+v[i-2].b);
else dp[i]=min(dp[i],v[i].b+v[i-1].a+v[i-2].b);
}
}
// for(int i:dp)cout<<i<<' ';
// cout<<endl;
res.push_back(dp[n-1]);
}
return res;
}