#include <bits/stdc++.h>
using namespace std;
const int MAX = 1e5 + 5;
int n, m, i;
int k1, k2, k3, t1, t2, t3;
long long a[MAX], b[MAX], t[MAX];
int main() {
  cin >> k1 >> k2 >> k3 >> t1 >> t2 >> t3 >> n;
  for (i = 0; i < n; i++) {
    scanf("%d", &a[i]);
    b[i] = a[i];
  }
  for (i = 0; i < n; i++) {
    a[i] = max(a[i], t[i % k1]) + t1;
    t[i % k1] = a[i];
  }
  for (i = 0; i < n; i++) t[i] = 0;
  for (i = 0; i < n; i++) {
    a[i] = max(a[i], t[i % k2]) + t2;
    t[i % k2] = a[i];
  }
  for (i = 0; i < n; i++) t[i] = 0;
  long long ans = 0;
  for (i = 0; i < n; i++) {
    a[i] = max(a[i], t[i % k3]) + t3;
    t[i % k3] = a[i];
    ans = max(ans, a[i] - b[i]);
  }
  cout << ans;
}
