import java.util.*;
import java.math.*;
 
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();
		ArrayList<Integer> listB = new ArrayList<>();
		int count =0;
 
		for(int i=0;i<m;i++){
			listB.add(sc.nextInt());
		}
		for(int i=0;i<n;i++){
			int sum =0;
			for(int j=0;j<m;j++){
				int a = sc.nextInt();
				sum += a * listB.get(j);
			}
			if(sum + c >0){
				count++;
			}

		}


        System.out.println(count);
 
	}
} import java.util.*; util.* java import java.math.*; math.* 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();
		ArrayList<Integer> listB = new ArrayList<>();
		int count =0;
 
		for(int i=0;i<m;i++){
			listB.add(sc.nextInt());
		}
		for(int i=0;i<n;i++){
			int sum =0;
			for(int j=0;j<m;j++){
				int a = sc.nextInt();
				sum += a * listB.get(j);
			}
			if(sum + c >0){
				count++;
			}

		}


        System.out.println(count);
 
	}
} 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();
		ArrayList<Integer> listB = new ArrayList<>();
		int count =0;
 
		for(int i=0;i<m;i++){
			listB.add(sc.nextInt());
		}
		for(int i=0;i<n;i++){
			int sum =0;
			for(int j=0;j<m;j++){
				int a = sc.nextInt();
				sum += a * listB.get(j);
			}
			if(sum + c >0){
				count++;
			}

		}


        System.out.println(count);
 
	} main {
		Scanner sc = new Scanner(System.in);
		// 整数の入
		int n = sc.nextInt();
		int m = sc.nextInt();
		int c = sc.nextInt();
		ArrayList<Integer> listB = new ArrayList<>();
		int count =0;
 
		for(int i=0;i<m;i++){
			listB.add(sc.nextInt());
		}
		for(int i=0;i<n;i++){
			int sum =0;
			for(int j=0;j<m;j++){
				int a = sc.nextInt();
				sum += a * listB.get(j);
			}
			if(sum + c >0){
				count++;
			}

		}


        System.out.println(count);
 
	} 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 ArrayList<Integer> listB = new ArrayList<>(); listB new ArrayList<>() int count =0; count 0 for(int i=0;i<m;i++){
			listB.add(sc.nextInt());
		} int i=0; int i=0; i 0 i<m i m i++ i++ i {
			listB.add(sc.nextInt());
		} {
			listB.add(sc.nextInt());
		} listB.add(sc.nextInt()) listB.add listB sc.nextInt() sc.nextInt sc for(int i=0;i<n;i++){
			int sum =0;
			for(int j=0;j<m;j++){
				int a = sc.nextInt();
				sum += a * listB.get(j);
			}
			if(sum + c >0){
				count++;
			}

		} int i=0; int i=0; i 0 i<n i n i++ i++ i {
			int sum =0;
			for(int j=0;j<m;j++){
				int a = sc.nextInt();
				sum += a * listB.get(j);
			}
			if(sum + c >0){
				count++;
			}

		} {
			int sum =0;
			for(int j=0;j<m;j++){
				int a = sc.nextInt();
				sum += a * listB.get(j);
			}
			if(sum + c >0){
				count++;
			}

		} int sum =0; sum 0 for(int j=0;j<m;j++){
				int a = sc.nextInt();
				sum += a * listB.get(j);
			} int j=0; int j=0; j 0 j<m j m j++ j++ j {
				int a = sc.nextInt();
				sum += a * listB.get(j);
			} {
				int a = sc.nextInt();
				sum += a * listB.get(j);
			} int a = sc.nextInt(); a sc.nextInt() sc.nextInt sc sum += a * listB.get(j) sum a * listB.get(j) a listB.get(j) listB.get listB j if(sum + c >0){
				count++;
			} sum + c >0 sum + c sum c 0 {
				count++;
			} count++ count System.out.println(count) System.out.println System.out System System.out count 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();
		ArrayList<Integer> listB = new ArrayList<>();
		int count =0;
 
		for(int i=0;i<m;i++){
			listB.add(sc.nextInt());
		}
		for(int i=0;i<n;i++){
			int sum =0;
			for(int j=0;j<m;j++){
				int a = sc.nextInt();
				sum += a * listB.get(j);
			}
			if(sum + c >0){
				count++;
			}

		}


        System.out.println(count);
 
	}
} 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();
		ArrayList<Integer> listB = new ArrayList<>();
		int count =0;
 
		for(int i=0;i<m;i++){
			listB.add(sc.nextInt());
		}
		for(int i=0;i<n;i++){
			int sum =0;
			for(int j=0;j<m;j++){
				int a = sc.nextInt();
				sum += a * listB.get(j);
			}
			if(sum + c >0){
				count++;
			}

		}


        System.out.println(count);
 
	}
} Main
import java.util.*;
import java.math.*;
 
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();
		ArrayList<Integer> listB = new ArrayList<>();
		int count =0;
 
		for(int i=0;i<m;i++){
			listB.add(sc.nextInt());
		}
		for(int i=0;i<n;i++){
			int sum =0;
			for(int j=0;j<m;j++){
				int a = sc.nextInt();
				sum += a * listB.get(j);
			}
			if(sum + c >0){
				count++;
			}

		}


        System.out.println(count);
 
	}
}
