#include <bits/stdc++.h>
using namespace std;
const int MAXN = (int)1e5;
int k[4], t[4];
int c[MAXN + 1];
multiset<long long> mst[4];
int main() {
  int i, n, j;
  ios::sync_with_stdio(false);
  cin >> k[1] >> k[2] >> k[3];
  cin >> t[1] >> t[2] >> t[3];
  cin >> n;
  for (i = 1; i <= n; i++) cin >> c[i];
  for (i = 1; i <= 3; i++) {
    for (j = 1; j <= min(n, k[i]); j++) mst[i].insert(0);
  }
  long long ans = 0;
  for (i = 1; i <= n; i++) {
    long long val = c[i];
    for (j = 1; j <= 3; j++) {
      val = max(val, *mst[j].begin()) + t[j];
      mst[j].erase(mst[j].begin());
      mst[j].insert(val);
    }
    ans = max(ans, val - c[i]);
  }
  cout << ans;
  return 0;
}
