/* prog6.1.c */

#include <stdio.h>

#define MMAX 10
#define NMAX 20

void leia_vetor(double v[], int n);
void imprima_vetor(double v[], int n);
void leia_matriz(double a[][NMAX], int m, int n);
void calcule_prod(double w[],
		  double a[][NMAX], double v[], int m, int n);

int main()
{
  int m, n;
  double A[MMAX][NMAX], V[NMAX], W[MMAX];
  
  scanf("%d %d", &m, &n);
  leia_matriz(A, m, n);
  leia_vetor(V, n);

  calcule_prod(W, A, V, m, n);

  imprima_vetor(W, m);
  return 0;
}

void leia_vetor(double v[], int n)
{
  int i;
  for (i=0; i<n; i++)
    scanf("%lf", &v[i]);
}

void imprima_vetor(double v[], int n)
{
  int i;
  for (i=0; i<n; i++)
    printf("%4.2g ", v[i]);
  printf("\n");
}

void leia_matriz(double a[][NMAX], int m, int n)
{
  int i, j;

  for (i=0; i<m; i++)
    for (j=0; j<n; j++)
      scanf("%lf", &a[i][j]);  

}

void calcule_prod(double w[],
		  double a[][NMAX], double v[], int m, int n)
{
  int i, j;
  double s;

  for (i=0; i<m; i++) {
    s=0.0;
    for (j=0; j<n; j++)
      s += a[i][j]*v[j];
    w[i]=s;
  }
}
