#include <bits/stdc++.h>
long long a[15], w, ans;
void dfs(int x, long long y) {
  if (x > 8) {
    if (y > ans) ans = y;
    return;
  }
  long long k = a[x];
  long long tmp = (w - y) / x;
  if (k > tmp) k = tmp;
  long long i = k - 6;
  if (i < 0) i = 0;
  for (; i <= k; i++) dfs(x + 1, y + i * x);
}
int main() {
  scanf("%I64d", &w);
  ans = 0;
  for (int i = 1; i <= 8; i++) scanf("%I64d", &a[i]);
  dfs(1, 0);
  printf("%I64d", ans);
  return 0;
}
