#include "bits/stdc++.h"
#include "nile.h"
#define ll long long
#define ff first
#define ss second
using namespace std;
const ll inf = 2e18;
vector <ll> calculate_costs(vector <int> w,vector <int> a,vector <int> b,vector <int> e){
int n = w.size();
int q = e.size();
vector <pair<int,pair<int,int>>> v(n);
for (int i = 0;i < n;i++){
v[i] = {w[i],{a[i],b[i]}};
}
v.push_back({(int)-1e9,{1e9,1e9}});
sort(v.begin(),v.end());
vector <ll> r;
for (int k = 0;k < q;k++){
vector <vector <ll>> dp(n+1,vector <ll> (3,inf));
dp[0][0] = 0;
int d = e[k];
for (int i = 1;i <= n;i++){
dp[i][0] = min({dp[i-1][1],dp[i-1][0],dp[i-1][2]})+v[i].ss.ff;
if (i > 1 && v[i].ff - v[i-1].ff <= d)
dp[i][1] = min(dp[i-2][0],min(dp[i-2][1],dp[i-2][2])) + v[i-1].ss.ss + v[i].ss.ss;
if (i > 2 && v[i].ff - v[i-2].ff <= d)
dp[i][2] = min(dp[i-3][0],min(dp[i-3][1],dp[i-3][2])) + v[i-2].ss.ss+v[i-1].ss.ff+v[i].ss.ss;
}
r.push_back((ll)min(dp[n][0],min(dp[n][1],dp[n][2])));
}
return r;
}