#include <bits/stdc++.h>
using namespace std;
const int MaxN = 100010;
long long k[3], t[3];
long long out[MaxN], in[MaxN];
int n;
void gao(int x) {
  for (int i = 0; i < n; i++) {
    if (i >= k[x]) out[i] = max(out[i], out[i - k[x]]);
    out[i] += t[x];
  }
}
int main() {
  for (int i = 0; i < 3; i++) cin >> k[i];
  for (int i = 0; i < 3; i++) cin >> t[i];
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> in[i];
    out[i] = in[i];
  }
  gao(0);
  gao(1);
  gao(2);
  long long ans = 0;
  for (int i = 0; i < n; i++)
    if (out[i] - in[i] > ans) ans = out[i] - in[i];
  cout << ans << endl;
  return 0;
}
