import java.net.StandardSocketOptions;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.PriorityQueue;
import java.util.Scanner;
import java.util.TreeSet;

import org.omg.Messaging.SyncScopeHelper;
import org.omg.PortableInterceptor.SYSTEM_EXCEPTION;

public class Main {
	Scanner sc = new Scanner(System.in);
	public static void main(String[] args){
		new Main();
	}
	public Main(){
		new Test_200().doIt();
	}
	class Test_200{
		void doIt() {
			int N = sc.nextInt();
			int M = sc.nextInt();
			int C = sc.nextInt();
			int B[] = new int[M];
			int A[][] = new int[N][M];
			int cnt = 0;
			
			for(int i = 0;i < M;i++)B[i] = sc.nextInt();
			for(int i = 0;i < N;i++) {
				for(int j = 0;j < M;j++) {
					A[i][j] = sc.nextInt();
				}
			}
			
			for(int i = 0;i < N;i++) {
				int Cost = C;
				for(int j = 0;j < M;j++) {
					Cost = Cost + A[i][j]*B[j];
				}
				if(Cost > 0)cnt++;
			}
			
			System.out.println(cnt);
		}
	}
} import java.net.StandardSocketOptions; StandardSocketOptions java.net import java.util.ArrayList; ArrayList java.util import java.util.Arrays; Arrays java.util import java.util.Collections; Collections java.util import java.util.PriorityQueue; PriorityQueue java.util import java.util.Scanner; Scanner java.util import java.util.TreeSet; TreeSet java.util import org.omg.Messaging.SyncScopeHelper; SyncScopeHelper org.omg.Messaging import org.omg.PortableInterceptor.SYSTEM_EXCEPTION; SYSTEM_EXCEPTION org.omg.PortableInterceptor public class Main {
	Scanner sc = new Scanner(System.in);
	public static void main(String[] args){
		new Main();
	}
	public Main(){
		new Test_200().doIt();
	}
	class Test_200{
		void doIt() {
			int N = sc.nextInt();
			int M = sc.nextInt();
			int C = sc.nextInt();
			int B[] = new int[M];
			int A[][] = new int[N][M];
			int cnt = 0;
			
			for(int i = 0;i < M;i++)B[i] = sc.nextInt();
			for(int i = 0;i < N;i++) {
				for(int j = 0;j < M;j++) {
					A[i][j] = sc.nextInt();
				}
			}
			
			for(int i = 0;i < N;i++) {
				int Cost = C;
				for(int j = 0;j < M;j++) {
					Cost = Cost + A[i][j]*B[j];
				}
				if(Cost > 0)cnt++;
			}
			
			System.out.println(cnt);
		}
	}
} Main Scanner sc = new Scanner(System.in); sc new Scanner(System.in) public static void main(String[] args){
		new Main();
	} main {
		new Main();
	} new Main() String[] args args public Main(){
		new Test_200().doIt();
	} Main {
		new Test_200().doIt();
	} new Test_200().doIt() new Test_200().doIt new Test_200() class Test_200{
		void doIt() {
			int N = sc.nextInt();
			int M = sc.nextInt();
			int C = sc.nextInt();
			int B[] = new int[M];
			int A[][] = new int[N][M];
			int cnt = 0;
			
			for(int i = 0;i < M;i++)B[i] = sc.nextInt();
			for(int i = 0;i < N;i++) {
				for(int j = 0;j < M;j++) {
					A[i][j] = sc.nextInt();
				}
			}
			
			for(int i = 0;i < N;i++) {
				int Cost = C;
				for(int j = 0;j < M;j++) {
					Cost = Cost + A[i][j]*B[j];
				}
				if(Cost > 0)cnt++;
			}
			
			System.out.println(cnt);
		}
	} Test_200 void doIt() {
			int N = sc.nextInt();
			int M = sc.nextInt();
			int C = sc.nextInt();
			int B[] = new int[M];
			int A[][] = new int[N][M];
			int cnt = 0;
			
			for(int i = 0;i < M;i++)B[i] = sc.nextInt();
			for(int i = 0;i < N;i++) {
				for(int j = 0;j < M;j++) {
					A[i][j] = sc.nextInt();
				}
			}
			
			for(int i = 0;i < N;i++) {
				int Cost = C;
				for(int j = 0;j < M;j++) {
					Cost = Cost + A[i][j]*B[j];
				}
				if(Cost > 0)cnt++;
			}
			
			System.out.println(cnt);
		} doIt {
			int N = sc.nextInt();
			int M = sc.nextInt();
			int C = sc.nextInt();
			int B[] = new int[M];
			int A[][] = new int[N][M];
			int cnt = 0;
			
			for(int i = 0;i < M;i++)B[i] = sc.nextInt();
			for(int i = 0;i < N;i++) {
				for(int j = 0;j < M;j++) {
					A[i][j] = sc.nextInt();
				}
			}
			
			for(int i = 0;i < N;i++) {
				int Cost = C;
				for(int j = 0;j < M;j++) {
					Cost = Cost + A[i][j]*B[j];
				}
				if(Cost > 0)cnt++;
			}
			
			System.out.println(cnt);
		} 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 B[] = new int[M]; B new int[M] M int A[][] = new int[N][M]; A new int[N][M] N M int cnt = 0; cnt 0 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] B i sc.nextInt() sc.nextInt sc for(int i = 0;i < N;i++) {
				for(int j = 0;j < M;j++) {
					A[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++) {
					A[i][j] = sc.nextInt();
				}
			} {
				for(int j = 0;j < M;j++) {
					A[i][j] = sc.nextInt();
				}
			} for(int j = 0;j < M;j++) {
					A[i][j] = sc.nextInt();
				} int j = 0; int j = 0; j 0 j < M j M j++ j++ j {
					A[i][j] = sc.nextInt();
				} {
					A[i][j] = sc.nextInt();
				} A[i][j] = sc.nextInt() A[i][j] A[i] A i j sc.nextInt() sc.nextInt sc for(int i = 0;i < N;i++) {
				int Cost = C;
				for(int j = 0;j < M;j++) {
					Cost = Cost + A[i][j]*B[j];
				}
				if(Cost > 0)cnt++;
			} int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
				int Cost = C;
				for(int j = 0;j < M;j++) {
					Cost = Cost + A[i][j]*B[j];
				}
				if(Cost > 0)cnt++;
			} {
				int Cost = C;
				for(int j = 0;j < M;j++) {
					Cost = Cost + A[i][j]*B[j];
				}
				if(Cost > 0)cnt++;
			} int Cost = C; Cost C for(int j = 0;j < M;j++) {
					Cost = Cost + A[i][j]*B[j];
				} int j = 0; int j = 0; j 0 j < M j M j++ j++ j {
					Cost = Cost + A[i][j]*B[j];
				} {
					Cost = Cost + A[i][j]*B[j];
				} Cost = Cost + A[i][j]*B[j] Cost Cost + A[i][j]*B[j] Cost A[i][j]*B[j] A[i][j] A[i] A i j B[j] B j if(Cost > 0)cnt++; Cost > 0 Cost 0 cnt++ cnt System.out.println(cnt) System.out.println System.out System System.out cnt public class Main {
	Scanner sc = new Scanner(System.in);
	public static void main(String[] args){
		new Main();
	}
	public Main(){
		new Test_200().doIt();
	}
	class Test_200{
		void doIt() {
			int N = sc.nextInt();
			int M = sc.nextInt();
			int C = sc.nextInt();
			int B[] = new int[M];
			int A[][] = new int[N][M];
			int cnt = 0;
			
			for(int i = 0;i < M;i++)B[i] = sc.nextInt();
			for(int i = 0;i < N;i++) {
				for(int j = 0;j < M;j++) {
					A[i][j] = sc.nextInt();
				}
			}
			
			for(int i = 0;i < N;i++) {
				int Cost = C;
				for(int j = 0;j < M;j++) {
					Cost = Cost + A[i][j]*B[j];
				}
				if(Cost > 0)cnt++;
			}
			
			System.out.println(cnt);
		}
	}
} public class Main {
	Scanner sc = new Scanner(System.in);
	public static void main(String[] args){
		new Main();
	}
	public Main(){
		new Test_200().doIt();
	}
	class Test_200{
		void doIt() {
			int N = sc.nextInt();
			int M = sc.nextInt();
			int C = sc.nextInt();
			int B[] = new int[M];
			int A[][] = new int[N][M];
			int cnt = 0;
			
			for(int i = 0;i < M;i++)B[i] = sc.nextInt();
			for(int i = 0;i < N;i++) {
				for(int j = 0;j < M;j++) {
					A[i][j] = sc.nextInt();
				}
			}
			
			for(int i = 0;i < N;i++) {
				int Cost = C;
				for(int j = 0;j < M;j++) {
					Cost = Cost + A[i][j]*B[j];
				}
				if(Cost > 0)cnt++;
			}
			
			System.out.println(cnt);
		}
	}
} Main
import java.net.StandardSocketOptions;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.PriorityQueue;
import java.util.Scanner;
import java.util.TreeSet;

import org.omg.Messaging.SyncScopeHelper;
import org.omg.PortableInterceptor.SYSTEM_EXCEPTION;

public class Main {
	Scanner sc = new Scanner(System.in);
	public static void main(String[] args){
		new Main();
	}
	public Main(){
		new Test_200().doIt();
	}
	class Test_200{
		void doIt() {
			int N = sc.nextInt();
			int M = sc.nextInt();
			int C = sc.nextInt();
			int B[] = new int[M];
			int A[][] = new int[N][M];
			int cnt = 0;
			
			for(int i = 0;i < M;i++)B[i] = sc.nextInt();
			for(int i = 0;i < N;i++) {
				for(int j = 0;j < M;j++) {
					A[i][j] = sc.nextInt();
				}
			}
			
			for(int i = 0;i < N;i++) {
				int Cost = C;
				for(int j = 0;j < M;j++) {
					Cost = Cost + A[i][j]*B[j];
				}
				if(Cost > 0)cnt++;
			}
			
			System.out.println(cnt);
		}
	}
}
