//import java.io.FileNotFoundException;
//import java.io.FileReader;
import java.util.Scanner;



public class Main {
	public static void main(String[] args) {
		//BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
				
		int[][] a;
		int[] b;
		int []c;
		try{Scanner sc =new Scanner(System.in);
			int n=sc.nextInt();
			int m=sc.nextInt();
			a=new int[n][m];
			b=new int[m];
			c=new int[n];
			for(int i=0;i<n;i++){
				for(int l=0;l<m;l++){
					a[i][l]=sc.nextInt();
				}
			}
			for(int i=0;i<m;i++){
				b[i]=sc.nextInt();
			}sc.close();
			//////////////////////////////////////////////////////////
		    //ここまで入力部
		    //////////////////////////////////////////////////////////
		    //↓より計算部
			
			for(int i=0;i<n;i++){
				for(int l=0;l<m;l++){
					c[i]+=b[l]*a[i][l];
					}System.out.println(c[i]);
				}
			
			}//catch(FileNotFoundException ee){}
		catch(ArrayIndexOutOfBoundsException e){System.out.println("配列エラーです");}
		
		}
	} import java.util.Scanner; Scanner java.util public class Main {
	public static void main(String[] args) {
		//BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
				
		int[][] a;
		int[] b;
		int []c;
		try{Scanner sc =new Scanner(System.in);
			int n=sc.nextInt();
			int m=sc.nextInt();
			a=new int[n][m];
			b=new int[m];
			c=new int[n];
			for(int i=0;i<n;i++){
				for(int l=0;l<m;l++){
					a[i][l]=sc.nextInt();
				}
			}
			for(int i=0;i<m;i++){
				b[i]=sc.nextInt();
			}sc.close();
			//////////////////////////////////////////////////////////
		    //ここまで入力部
		    //////////////////////////////////////////////////////////
		    //↓より計算部
			
			for(int i=0;i<n;i++){
				for(int l=0;l<m;l++){
					c[i]+=b[l]*a[i][l];
					}System.out.println(c[i]);
				}
			
			}//catch(FileNotFoundException ee){}
		catch(ArrayIndexOutOfBoundsException e){System.out.println("配列エラーです");}
		
		}
	} Main public static void main(String[] args) {
		//BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
				
		int[][] a;
		int[] b;
		int []c;
		try{Scanner sc =new Scanner(System.in);
			int n=sc.nextInt();
			int m=sc.nextInt();
			a=new int[n][m];
			b=new int[m];
			c=new int[n];
			for(int i=0;i<n;i++){
				for(int l=0;l<m;l++){
					a[i][l]=sc.nextInt();
				}
			}
			for(int i=0;i<m;i++){
				b[i]=sc.nextInt();
			}sc.close();
			//////////////////////////////////////////////////////////
		    //ここまで入力部
		    //////////////////////////////////////////////////////////
		    //↓より計算部
			
			for(int i=0;i<n;i++){
				for(int l=0;l<m;l++){
					c[i]+=b[l]*a[i][l];
					}System.out.println(c[i]);
				}
			
			}//catch(FileNotFoundException ee){}
		catch(ArrayIndexOutOfBoundsException e){System.out.println("配列エラーです");}
		
		} main {
		//BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
				
		int[][] a;
		int[] b;
		int []c;
		try{Scanner sc =new Scanner(System.in);
			int n=sc.nextInt();
			int m=sc.nextInt();
			a=new int[n][m];
			b=new int[m];
			c=new int[n];
			for(int i=0;i<n;i++){
				for(int l=0;l<m;l++){
					a[i][l]=sc.nextInt();
				}
			}
			for(int i=0;i<m;i++){
				b[i]=sc.nextInt();
			}sc.close();
			//////////////////////////////////////////////////////////
		    //ここまで入力部
		    //////////////////////////////////////////////////////////
		    //↓より計算部
			
			for(int i=0;i<n;i++){
				for(int l=0;l<m;l++){
					c[i]+=b[l]*a[i][l];
					}System.out.println(c[i]);
				}
			
			}//catch(FileNotFoundException ee){}
		catch(ArrayIndexOutOfBoundsException e){System.out.println("配列エラーです");}
		
		} int[][] a; a int[] b; b int []c; c try{Scanner sc =new Scanner(System.in);
			int n=sc.nextInt();
			int m=sc.nextInt();
			a=new int[n][m];
			b=new int[m];
			c=new int[n];
			for(int i=0;i<n;i++){
				for(int l=0;l<m;l++){
					a[i][l]=sc.nextInt();
				}
			}
			for(int i=0;i<m;i++){
				b[i]=sc.nextInt();
			}sc.close();
			//////////////////////////////////////////////////////////
		    //ここまで入力部
		    //////////////////////////////////////////////////////////
		    //↓より計算部
			
			for(int i=0;i<n;i++){
				for(int l=0;l<m;l++){
					c[i]+=b[l]*a[i][l];
					}System.out.println(c[i]);
				}
			
			}//catch(FileNotFoundException ee){}
		catch(ArrayIndexOutOfBoundsException e){System.out.println("配列エラーです");} catch(ArrayIndexOutOfBoundsException e){System.out.println("配列エラーです");} ArrayIndexOutOfBoundsException e {System.out.println("配列エラーです");} System.out.println("配列エラーです") System.out.println System.out System System.out "配列エラーです" {Scanner sc =new Scanner(System.in);
			int n=sc.nextInt();
			int m=sc.nextInt();
			a=new int[n][m];
			b=new int[m];
			c=new int[n];
			for(int i=0;i<n;i++){
				for(int l=0;l<m;l++){
					a[i][l]=sc.nextInt();
				}
			}
			for(int i=0;i<m;i++){
				b[i]=sc.nextInt();
			}sc.close();
			//////////////////////////////////////////////////////////
		    //ここまで入力部
		    //////////////////////////////////////////////////////////
		    //↓より計算部
			
			for(int i=0;i<n;i++){
				for(int l=0;l<m;l++){
					c[i]+=b[l]*a[i][l];
					}System.out.println(c[i]);
				}
			
			} Scanner sc =new Scanner(System.in); sc new Scanner(System.in) int n=sc.nextInt(); n sc.nextInt() sc.nextInt sc int m=sc.nextInt(); m sc.nextInt() sc.nextInt sc a=new int[n][m] a new int[n][m] n m b=new int[m] b new int[m] m c=new int[n] c new int[n] n for(int i=0;i<n;i++){
				for(int l=0;l<m;l++){
					a[i][l]=sc.nextInt();
				}
			} int i=0; int i=0; i 0 i<n i n i++ i++ i {
				for(int l=0;l<m;l++){
					a[i][l]=sc.nextInt();
				}
			} {
				for(int l=0;l<m;l++){
					a[i][l]=sc.nextInt();
				}
			} for(int l=0;l<m;l++){
					a[i][l]=sc.nextInt();
				} int l=0; int l=0; l 0 l<m l m l++ l++ l {
					a[i][l]=sc.nextInt();
				} {
					a[i][l]=sc.nextInt();
				} a[i][l]=sc.nextInt() a[i][l] a[i] a i l sc.nextInt() sc.nextInt sc for(int i=0;i<m;i++){
				b[i]=sc.nextInt();
			} int i=0; int i=0; i 0 i<m i m i++ i++ i {
				b[i]=sc.nextInt();
			} {
				b[i]=sc.nextInt();
			} b[i]=sc.nextInt() b[i] b i sc.nextInt() sc.nextInt sc sc.close() sc.close sc for(int i=0;i<n;i++){
				for(int l=0;l<m;l++){
					c[i]+=b[l]*a[i][l];
					}System.out.println(c[i]);
				} int i=0; int i=0; i 0 i<n i n i++ i++ i {
				for(int l=0;l<m;l++){
					c[i]+=b[l]*a[i][l];
					}System.out.println(c[i]);
				} {
				for(int l=0;l<m;l++){
					c[i]+=b[l]*a[i][l];
					}System.out.println(c[i]);
				} for(int l=0;l<m;l++){
					c[i]+=b[l]*a[i][l];
					} int l=0; int l=0; l 0 l<m l m l++ l++ l {
					c[i]+=b[l]*a[i][l];
					} {
					c[i]+=b[l]*a[i][l];
					} c[i]+=b[l]*a[i][l] c[i] c i b[l]*a[i][l] b[l] b l a[i][l] a[i] a i l System.out.println(c[i]) System.out.println System.out System System.out c[i] c i String[] args args public class Main {
	public static void main(String[] args) {
		//BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
				
		int[][] a;
		int[] b;
		int []c;
		try{Scanner sc =new Scanner(System.in);
			int n=sc.nextInt();
			int m=sc.nextInt();
			a=new int[n][m];
			b=new int[m];
			c=new int[n];
			for(int i=0;i<n;i++){
				for(int l=0;l<m;l++){
					a[i][l]=sc.nextInt();
				}
			}
			for(int i=0;i<m;i++){
				b[i]=sc.nextInt();
			}sc.close();
			//////////////////////////////////////////////////////////
		    //ここまで入力部
		    //////////////////////////////////////////////////////////
		    //↓より計算部
			
			for(int i=0;i<n;i++){
				for(int l=0;l<m;l++){
					c[i]+=b[l]*a[i][l];
					}System.out.println(c[i]);
				}
			
			}//catch(FileNotFoundException ee){}
		catch(ArrayIndexOutOfBoundsException e){System.out.println("配列エラーです");}
		
		}
	} public class Main {
	public static void main(String[] args) {
		//BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
				
		int[][] a;
		int[] b;
		int []c;
		try{Scanner sc =new Scanner(System.in);
			int n=sc.nextInt();
			int m=sc.nextInt();
			a=new int[n][m];
			b=new int[m];
			c=new int[n];
			for(int i=0;i<n;i++){
				for(int l=0;l<m;l++){
					a[i][l]=sc.nextInt();
				}
			}
			for(int i=0;i<m;i++){
				b[i]=sc.nextInt();
			}sc.close();
			//////////////////////////////////////////////////////////
		    //ここまで入力部
		    //////////////////////////////////////////////////////////
		    //↓より計算部
			
			for(int i=0;i<n;i++){
				for(int l=0;l<m;l++){
					c[i]+=b[l]*a[i][l];
					}System.out.println(c[i]);
				}
			
			}//catch(FileNotFoundException ee){}
		catch(ArrayIndexOutOfBoundsException e){System.out.println("配列エラーです");}
		
		}
	} Main
//import java.io.FileNotFoundException;
//import java.io.FileReader;
import java.util.Scanner;



public class Main {
	public static void main(String[] args) {
		//BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
				
		int[][] a;
		int[] b;
		int []c;
		try{Scanner sc =new Scanner(System.in);
			int n=sc.nextInt();
			int m=sc.nextInt();
			a=new int[n][m];
			b=new int[m];
			c=new int[n];
			for(int i=0;i<n;i++){
				for(int l=0;l<m;l++){
					a[i][l]=sc.nextInt();
				}
			}
			for(int i=0;i<m;i++){
				b[i]=sc.nextInt();
			}sc.close();
			//////////////////////////////////////////////////////////
		    //ここまで入力部
		    //////////////////////////////////////////////////////////
		    //↓より計算部
			
			for(int i=0;i<n;i++){
				for(int l=0;l<m;l++){
					c[i]+=b[l]*a[i][l];
					}System.out.println(c[i]);
				}
			
			}//catch(FileNotFoundException ee){}
		catch(ArrayIndexOutOfBoundsException e){System.out.println("配列エラーです");}
		
		}
	}