#include <bits/stdc++.h>
using namespace std;
int main() {
  int K, N[3], T[3];
  scanf("%d", &(K));
  for (int i = (0); i < (3); i++) scanf("%d", &(N[i]));
  for (int i = (0); i < (3); i++) scanf("%d", &(T[i]));
  priority_queue<pair<int, int>, vector<pair<int, int> >,
                 greater<pair<int, int> > >
      Q;
  int t;
  for (int t = 0;; t++) {
    while (!Q.empty() && Q.top().first == t) {
      pair<int, int> p = Q.top();
      Q.pop();
      N[p.second]++;
    }
    while (K && N[0] && N[1] && N[2]) {
      for (int i = (0); i < (3); i++) {
        N[i]--;
        Q.push(make_pair(t + T[i], i));
      }
      K--;
    }
    if (K == 0) {
      printf("%d\n", t + T[0] + T[1] + T[2]);
      return 0;
    }
  }
}
