import java.util.*;
    public class Main {
    	public static void main(String[] args){
    		Scanner sc = new Scanner(System.in);
    		// 整数の入力
    		int N = sc.nextInt();
    		int M = sc.nextInt();
    		int C = sc.nextInt();

            int[][] ar = new int[N][M];
            int[] arB= new int[M];
            
            for(int i=0; i<M; i++){
                arB[i]= sc.nextInt();
            }

            for(int i=0; i<N; i++){
                for(int j=0; j<M; j++){
                    ar[i][j] = sc.nextInt();
                }
            }

            int rslt=0;
            int ans =0;
            for(int i=0; i<N; i++){
                for(int j=0; j<M; j++){
                    rslt = rslt + arB[j]*ar[i][j];
                }
                if((rslt + C) >0){
                    ans++;
                }
                rslt=0;
            }

            // 出力
    		System.out.println(ans);
    	}
    } import java.util.*; util.* java public class Main {
    	public static void main(String[] args){
    		Scanner sc = new Scanner(System.in);
    		// 整数の入力
    		int N = sc.nextInt();
    		int M = sc.nextInt();
    		int C = sc.nextInt();

            int[][] ar = new int[N][M];
            int[] arB= new int[M];
            
            for(int i=0; i<M; i++){
                arB[i]= sc.nextInt();
            }

            for(int i=0; i<N; i++){
                for(int j=0; j<M; j++){
                    ar[i][j] = sc.nextInt();
                }
            }

            int rslt=0;
            int ans =0;
            for(int i=0; i<N; i++){
                for(int j=0; j<M; j++){
                    rslt = rslt + arB[j]*ar[i][j];
                }
                if((rslt + C) >0){
                    ans++;
                }
                rslt=0;
            }

            // 出力
    		System.out.println(ans);
    	}
    } Main public static void main(String[] args){
    		Scanner sc = new Scanner(System.in);
    		// 整数の入力
    		int N = sc.nextInt();
    		int M = sc.nextInt();
    		int C = sc.nextInt();

            int[][] ar = new int[N][M];
            int[] arB= new int[M];
            
            for(int i=0; i<M; i++){
                arB[i]= sc.nextInt();
            }

            for(int i=0; i<N; i++){
                for(int j=0; j<M; j++){
                    ar[i][j] = sc.nextInt();
                }
            }

            int rslt=0;
            int ans =0;
            for(int i=0; i<N; i++){
                for(int j=0; j<M; j++){
                    rslt = rslt + arB[j]*ar[i][j];
                }
                if((rslt + C) >0){
                    ans++;
                }
                rslt=0;
            }

            // 出力
    		System.out.println(ans);
    	} main {
    		Scanner sc = new Scanner(System.in);
    		// 整数の入力
    		int N = sc.nextInt();
    		int M = sc.nextInt();
    		int C = sc.nextInt();

            int[][] ar = new int[N][M];
            int[] arB= new int[M];
            
            for(int i=0; i<M; i++){
                arB[i]= sc.nextInt();
            }

            for(int i=0; i<N; i++){
                for(int j=0; j<M; j++){
                    ar[i][j] = sc.nextInt();
                }
            }

            int rslt=0;
            int ans =0;
            for(int i=0; i<N; i++){
                for(int j=0; j<M; j++){
                    rslt = rslt + arB[j]*ar[i][j];
                }
                if((rslt + C) >0){
                    ans++;
                }
                rslt=0;
            }

            // 出力
    		System.out.println(ans);
    	} 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 int C = sc.nextInt(); C sc.nextInt() sc.nextInt sc int[][] ar = new int[N][M]; ar new int[N][M] N M int[] arB= new int[M]; arB new int[M] M for(int i=0; i<M; i++){
                arB[i]= sc.nextInt();
            } int i=0; int i=0; i 0 i<M i M i++ i++ i {
                arB[i]= sc.nextInt();
            } {
                arB[i]= sc.nextInt();
            } arB[i]= sc.nextInt() arB[i] arB i sc.nextInt() sc.nextInt sc for(int i=0; i<N; i++){
                for(int j=0; j<M; j++){
                    ar[i][j] = sc.nextInt();
                }
            } int i=0; int i=0; i 0 i<N i N i++ i++ i {
                for(int j=0; j<M; j++){
                    ar[i][j] = sc.nextInt();
                }
            } {
                for(int j=0; j<M; j++){
                    ar[i][j] = sc.nextInt();
                }
            } for(int j=0; j<M; j++){
                    ar[i][j] = sc.nextInt();
                } int j=0; int j=0; j 0 j<M j M j++ j++ j {
                    ar[i][j] = sc.nextInt();
                } {
                    ar[i][j] = sc.nextInt();
                } ar[i][j] = sc.nextInt() ar[i][j] ar[i] ar i j sc.nextInt() sc.nextInt sc int rslt=0; rslt 0 int ans =0; ans 0 for(int i=0; i<N; i++){
                for(int j=0; j<M; j++){
                    rslt = rslt + arB[j]*ar[i][j];
                }
                if((rslt + C) >0){
                    ans++;
                }
                rslt=0;
            } int i=0; int i=0; i 0 i<N i N i++ i++ i {
                for(int j=0; j<M; j++){
                    rslt = rslt + arB[j]*ar[i][j];
                }
                if((rslt + C) >0){
                    ans++;
                }
                rslt=0;
            } {
                for(int j=0; j<M; j++){
                    rslt = rslt + arB[j]*ar[i][j];
                }
                if((rslt + C) >0){
                    ans++;
                }
                rslt=0;
            } for(int j=0; j<M; j++){
                    rslt = rslt + arB[j]*ar[i][j];
                } int j=0; int j=0; j 0 j<M j M j++ j++ j {
                    rslt = rslt + arB[j]*ar[i][j];
                } {
                    rslt = rslt + arB[j]*ar[i][j];
                } rslt = rslt + arB[j]*ar[i][j] rslt rslt + arB[j]*ar[i][j] rslt arB[j]*ar[i][j] arB[j] arB j ar[i][j] ar[i] ar i j if((rslt + C) >0){
                    ans++;
                } (rslt + C) >0 (rslt + C) rslt C 0 {
                    ans++;
                } ans++ ans rslt=0 rslt 0 System.out.println(ans) System.out.println System.out System System.out ans String[] args args public class Main {
    	public static void main(String[] args){
    		Scanner sc = new Scanner(System.in);
    		// 整数の入力
    		int N = sc.nextInt();
    		int M = sc.nextInt();
    		int C = sc.nextInt();

            int[][] ar = new int[N][M];
            int[] arB= new int[M];
            
            for(int i=0; i<M; i++){
                arB[i]= sc.nextInt();
            }

            for(int i=0; i<N; i++){
                for(int j=0; j<M; j++){
                    ar[i][j] = sc.nextInt();
                }
            }

            int rslt=0;
            int ans =0;
            for(int i=0; i<N; i++){
                for(int j=0; j<M; j++){
                    rslt = rslt + arB[j]*ar[i][j];
                }
                if((rslt + C) >0){
                    ans++;
                }
                rslt=0;
            }

            // 出力
    		System.out.println(ans);
    	}
    } public class Main {
    	public static void main(String[] args){
    		Scanner sc = new Scanner(System.in);
    		// 整数の入力
    		int N = sc.nextInt();
    		int M = sc.nextInt();
    		int C = sc.nextInt();

            int[][] ar = new int[N][M];
            int[] arB= new int[M];
            
            for(int i=0; i<M; i++){
                arB[i]= sc.nextInt();
            }

            for(int i=0; i<N; i++){
                for(int j=0; j<M; j++){
                    ar[i][j] = sc.nextInt();
                }
            }

            int rslt=0;
            int ans =0;
            for(int i=0; i<N; i++){
                for(int j=0; j<M; j++){
                    rslt = rslt + arB[j]*ar[i][j];
                }
                if((rslt + C) >0){
                    ans++;
                }
                rslt=0;
            }

            // 出力
    		System.out.println(ans);
    	}
    } Main
import java.util.*;
    public class Main {
    	public static void main(String[] args){
    		Scanner sc = new Scanner(System.in);
    		// 整数の入力
    		int N = sc.nextInt();
    		int M = sc.nextInt();
    		int C = sc.nextInt();

            int[][] ar = new int[N][M];
            int[] arB= new int[M];
            
            for(int i=0; i<M; i++){
                arB[i]= sc.nextInt();
            }

            for(int i=0; i<N; i++){
                for(int j=0; j<M; j++){
                    ar[i][j] = sc.nextInt();
                }
            }

            int rslt=0;
            int ans =0;
            for(int i=0; i<N; i++){
                for(int j=0; j<M; j++){
                    rslt = rslt + arB[j]*ar[i][j];
                }
                if((rslt + C) >0){
                    ans++;
                }
                rslt=0;
            }

            // 出力
    		System.out.println(ans);
    	}
    }
