#include <bits/stdc++.h>
using namespace std;
int k;
int n[3], t[3];
multiset<int> f[3];
int main() {
  cin >> k;
  cin >> n[0] >> n[1] >> n[2];
  cin >> t[0] >> t[1] >> t[2];
  for (int i = 0; i < 3; i++)
    for (int j = 0; j < n[i]; j++) f[i].insert(0);
  int ans = 0;
  for (int i = 0; i < k; i++) {
    int go[3];
    for (int j = 0; j < 3; j++) {
      go[j] = *f[j].begin();
      f[j].erase(f[j].begin());
    }
    go[1] -= t[0];
    go[2] -= t[0] + t[1];
    int w = max(go[0], max(go[1], go[2]));
    ans = w + t[0] + t[1] + t[2];
    f[0].insert(w + t[0]);
    f[1].insert(w + t[0] + t[1]);
    f[2].insert(ans);
  }
  cout << ans;
}
