#include<iostream>
#include<vector>
#include<climits>
using namespace std;
int l1, l2, l3, c1, c2, c3;
//计算不同路程对应得价格,distance <= l3
int price(int distance){
if(distance <= l1) return c1;
else if(distance <= l2) return c2;
return c3;
}
int main(){
while(cin >> l1 >> l2 >> l3 >> c1 >> c2 >> c3) {
int start, end;
cin >> start >> end;
int n;
cin >> n;
vector<int> dis(n + 1, 0);
for(int i = 2; i <= n; i ++)
cin >> dis[i];
vector<int> dp(n + 1, INT_MAX);
dp[start] = 0;
for(int i = start + 1; i <= end; i ++){
for(int j = start; j < i; j ++){
if(dis[i] - dis[j] <= l3){
dp[i] = min(dp[i], dp[j] + price(dis[i] - dis[j]));
}
}
}
cout << dp[end] << endl;
}
return 0;
}