#include <bits/stdc++.h>
using namespace std;
int main() {
  int a;
  cin >> a;
  vector<long long int> arr;
  for (int i = 0; i < a; i++) {
    long long int x;
    cin >> x;
    arr.push_back(x);
  }
  set<long long int> s;
  map<long long int, int> in;
  for (int i = 0; i < 5; i++) {
    long long int x;
    cin >> x;
    in[x] = i;
    s.insert(x);
  }
  long long int left = 0;
  long long int r[5] = {0};
  for (int i = 0; i < a; i++) {
    left += arr[i];
    set<long long int>::iterator upper;
    upper = upper_bound(s.begin(), s.end(), left);
    if (upper == s.begin()) {
      continue;
    }
    upper--;
    {
      int index = in[*upper];
      r[index] += left / (*upper);
      left = left % (*upper);
    }
    while (left >= *(s.begin())) {
      set<long long int>::iterator upper;
      upper = upper_bound(s.begin(), s.end(), left);
      if (upper == s.begin()) {
        break;
      }
      upper--;
      {
        int index = in[*upper];
        r[index] += left / (*upper);
        left = left % (*upper);
      }
    }
  }
  for (int i = 0; i < 5; i++) {
    cout << r[i] << " ";
  }
  cout << "\n" << left;
}
