package main
import (
"bufio"
"fmt"
"os"
)
func main() {
in := bufio.NewReaderSize(os.Stdin, 1<<20)
out := bufio.NewWriterSize(os.Stdout, 1<<20)
defer out.Flush()
var n int
fmt.Fscan(in, &n)
p := make([]int64, n)
for i := 0; i < n; i++ {
fmt.Fscan(in, &p[i])
}
cost := make([]int64, 5)
for i := 0; i < 5; i++ {
fmt.Fscan(in, &cost[i])
}
ans := make([]int64, 5)
var points int64
for i := 0; i < n; i++ {
points += p[i]
for j := 4; j >= 0; j-- {
if points >= cost[j] {
ans[j] += points / cost[j]
points %= cost[j]
}
}
}
fmt.Fprintln(out, ans[0], ans[1], ans[2], ans[3], ans[4])
fmt.Fprintln(out, points)
}