#include <bits/stdc++.h>
using namespace std;
const int inf = (int)1e9;
const int maxn = 100100;
int c[3], cur[3];
long long t[3], a[maxn], enter[3][maxn];
int n;
int main() {
  for (int i = (0); i < (3); i++) {
    scanf("%d", c + i);
  }
  for (int i = (0); i < (3); i++) {
    scanf("%I64d", t + i);
  }
  scanf("%d", &n);
  for (int i = (0); i < (n); i++) {
    scanf("%I64d", a + i);
  }
  sort(a, a + n);
  memset(enter, 0, sizeof(enter));
  long long ans = 0;
  for (int i = (0); i < (n); i++) {
    long long time = a[i];
    for (int j = (0); j < (3); j++) {
      time = max(enter[j][cur[j]], time) + t[j];
      enter[j][cur[j]] = time;
      cur[j] = (cur[j] + 1) % c[j];
    }
    ans = max(ans, time - a[i]);
  }
  printf("%I64d", ans);
  return 0;
}
