#include <stdio.h>
#include <stdlib.h>					//used for 'exit' in error statements
#include <assert.h>

#define MAX_LAKE 25
#define MAX_HOUR 16
#define MAX_MIN5 MAX_HOUR*12
#define INPUT "B.txt"

int n, min5, F[MAX_LAKE], d[MAX_LAKE], t[MAX_LAKE];
FILE *ifp;

int read_case(void)
{
  int i;

  fscanf(ifp,"%d", &n);
  if (!n) {
    return 0;
  }

  assert(1 <= n && n <= MAX_LAKE);
  fscanf(ifp,"%d", &min5);
  min5 *= 12;
  assert(12 <= min5 && min5 <= MAX_MIN5);

  for (i = 0; i < n; i++) {
    fscanf(ifp,"%d", F+i);
    assert(F[i] >= 0);
  }
  for (i = 0; i < n; i++) {
    fscanf(ifp,"%d", d+i);
    assert(d[i] >= 0);
  }
  for (i = 0; i < n-1; i++) {
    fscanf(ifp,"%d", t+i);
    assert(t[i] > 0);
  }

  return 1;
}

void solve_case(void)
{
  /* max number of fish we can get starting at lake i, with 5*j minutes used */
  int fishes[MAX_LAKE][MAX_MIN5];

  /* how long we fish at lake i */
  int len[MAX_LAKE][MAX_MIN5];
  int i, j, k, sum, dec, f, temp;

  /* fill base case */
  sum = dec = 0;
  for (j = min5-1; j >= 0; j--) {
    if ((f = F[n-1] - dec) < 0) {
      f = 0;
    }
    sum += f;
    fishes[n-1][j] = sum;
    len[n-1][j] = min5-j;
    dec += d[n-1];
  }

  /* compute table */
  for (i = n-2; i >= 0; i--) {
    for (j = min5-1; j >= 0; j--) {
      sum = dec = 0;
      fishes[i][j] = -1;
      for (k = 0; k <= min5-j; k++) {
	if (j+k+t[i] < min5) {
	  /* fish 5*k minutes, then move on */
	  temp = fishes[i+1][j+k+t[i]] + sum;
	} else {
	  /* just stay here for the rest of time */
	  temp = sum;
	}

	if (temp >= fishes[i][j]) {
	  fishes[i][j] = temp;
	  len[i][j] = k;
	}
	if ((f = F[i] - dec) < 0) {
	  f = 0;
	}
	sum += f;
	dec += d[i];
      }
    }
  }

  /* now print the solution */
  for (i = j = 0; i < n; i++) {
    if (i) {
      printf(", ");
    }
    if (j < min5) {
      printf("%d", len[i][j]*5);
      j += len[i][j] + t[i];
    } else {
      printf("0");
    }
  }
  printf("\n");
  printf("Number of fish expected: %d\n", fishes[0][0]);
}


int main(void)
{	int first = 1;

  if ( (ifp=fopen(INPUT,"r")) == NULL)
   	{printf("Cannot open %s file.\n",INPUT); exit;}

  while (read_case()) {
    if (!first) {
      printf("\n");
    }
    solve_case();
    first = 0;
  }
  return 0;
}