#include <bits/stdc++.h>
using namespace std;
multiset<int> m1, m2, m3;
multiset<int>::iterator it;
int main() {
  int k, n1, n2, n3, t1, t2, t3;
  cin >> k >> n1 >> n2 >> n3 >> t1 >> t2 >> t3;
  for (int i = 0; i < n1; i++) {
    m1.insert(0);
  }
  for (int i = 0; i < n2; i++) {
    m2.insert(0);
  }
  for (int i = 0; i < n3; i++) {
    m3.insert(0);
  }
  int t;
  for (int i = 0; i < k; i++) {
    t = *m1.begin();
    m1.erase(m1.begin());
    t += t1;
    m1.insert(t);
    t = max(t, *m2.begin());
    m2.erase(m2.begin());
    t += t2;
    m2.insert(t);
    t = max(t, *m3.begin());
    m3.erase(m3.begin());
    t += t3;
    m3.insert(t);
  }
  cout << t;
}
