#include <bits/stdc++.h>
using namespace std;
const int N = 840;
long long cnt[10];
long long f[10][N];
int main() {
  long long w;
  cin >> w;
  for (int i = 1; i <= 8; i++) cin >> cnt[i];
  memset(f, 0xcf, sizeof f);
  f[0][0] = 0;
  long long res = 0;
  for (int i = 1; i <= 8; i++) {
    for (int j = 0; j < 840 / i && j <= cnt[i]; j++) {
      for (int k = 0; k < 840; k++) {
        int a = (k + j * i) / 840;
        int b = (k + j * i) % 840;
        f[i][b] = max(f[i][b], f[i - 1][k] + a + (cnt[i] - j) * i / 840);
        if (b <= w) res = max(res, min(f[i][b], (w - b) / 840) * 840 + b);
      }
    }
  }
  cout << res << endl;
  return 0;
}
