import java.util.Scanner;

public class Main {

    private void solve() {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int M = sc.nextInt();
        int C = sc.nextInt();

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

        int[][] A = new int[N][M];
        for (int i = 0; i < N; i++) {
            for (int j = 0; j < M; j++) {
                A[i][j] = sc.nextInt();
            }
        }
        int ans = 0;
        for (int i = 0; i < N; i++) {
            int work = 0;
            for (int j = 0; j < M; j++) {
                work += A[i][j] * B[j];
            }
            work += C;
            if (work > 0) {
                ans++;
            }
        }
        System.out.println(ans);
    }

    // Main
    public static void main(String[] args) {
        new Main().solve();
    }

} import java.util.Scanner; Scanner java.util public class Main {

    private void solve() {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int M = sc.nextInt();
        int C = sc.nextInt();

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

        int[][] A = new int[N][M];
        for (int i = 0; i < N; i++) {
            for (int j = 0; j < M; j++) {
                A[i][j] = sc.nextInt();
            }
        }
        int ans = 0;
        for (int i = 0; i < N; i++) {
            int work = 0;
            for (int j = 0; j < M; j++) {
                work += A[i][j] * B[j];
            }
            work += C;
            if (work > 0) {
                ans++;
            }
        }
        System.out.println(ans);
    }

    // Main
    public static void main(String[] args) {
        new Main().solve();
    }

} Main private void solve() {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int M = sc.nextInt();
        int C = sc.nextInt();

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

        int[][] A = new int[N][M];
        for (int i = 0; i < N; i++) {
            for (int j = 0; j < M; j++) {
                A[i][j] = sc.nextInt();
            }
        }
        int ans = 0;
        for (int i = 0; i < N; i++) {
            int work = 0;
            for (int j = 0; j < M; j++) {
                work += A[i][j] * B[j];
            }
            work += C;
            if (work > 0) {
                ans++;
            }
        }
        System.out.println(ans);
    } solve {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int M = sc.nextInt();
        int C = sc.nextInt();

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

        int[][] A = new int[N][M];
        for (int i = 0; i < N; i++) {
            for (int j = 0; j < M; j++) {
                A[i][j] = sc.nextInt();
            }
        }
        int ans = 0;
        for (int i = 0; i < N; i++) {
            int work = 0;
            for (int j = 0; j < M; j++) {
                work += A[i][j] * B[j];
            }
            work += C;
            if (work > 0) {
                ans++;
            }
        }
        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[] B = new int[M]; B new int[M] M 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 int[][] A = new int[N][M]; A new int[N][M] N M 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 int ans = 0; ans 0 for (int i = 0; i < N; i++) {
            int work = 0;
            for (int j = 0; j < M; j++) {
                work += A[i][j] * B[j];
            }
            work += C;
            if (work > 0) {
                ans++;
            }
        } int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
            int work = 0;
            for (int j = 0; j < M; j++) {
                work += A[i][j] * B[j];
            }
            work += C;
            if (work > 0) {
                ans++;
            }
        } {
            int work = 0;
            for (int j = 0; j < M; j++) {
                work += A[i][j] * B[j];
            }
            work += C;
            if (work > 0) {
                ans++;
            }
        } int work = 0; work 0 for (int j = 0; j < M; j++) {
                work += A[i][j] * B[j];
            } int j = 0; int j = 0; j 0 j < M j M j++ j++ j {
                work += A[i][j] * B[j];
            } {
                work += A[i][j] * B[j];
            } work += A[i][j] * B[j] work A[i][j] * B[j] A[i][j] A[i] A i j B[j] B j work += C work C if (work > 0) {
                ans++;
            } work > 0 work 0 {
                ans++;
            } ans++ ans System.out.println(ans) System.out.println System.out System System.out ans // Main
    public static void main(String[] args) {
        new Main().solve();
    } main {
        new Main().solve();
    } new Main().solve() new Main().solve new Main() String[] args args public class Main {

    private void solve() {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int M = sc.nextInt();
        int C = sc.nextInt();

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

        int[][] A = new int[N][M];
        for (int i = 0; i < N; i++) {
            for (int j = 0; j < M; j++) {
                A[i][j] = sc.nextInt();
            }
        }
        int ans = 0;
        for (int i = 0; i < N; i++) {
            int work = 0;
            for (int j = 0; j < M; j++) {
                work += A[i][j] * B[j];
            }
            work += C;
            if (work > 0) {
                ans++;
            }
        }
        System.out.println(ans);
    }

    // Main
    public static void main(String[] args) {
        new Main().solve();
    }

} public class Main {

    private void solve() {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int M = sc.nextInt();
        int C = sc.nextInt();

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

        int[][] A = new int[N][M];
        for (int i = 0; i < N; i++) {
            for (int j = 0; j < M; j++) {
                A[i][j] = sc.nextInt();
            }
        }
        int ans = 0;
        for (int i = 0; i < N; i++) {
            int work = 0;
            for (int j = 0; j < M; j++) {
                work += A[i][j] * B[j];
            }
            work += C;
            if (work > 0) {
                ans++;
            }
        }
        System.out.println(ans);
    }

    // Main
    public static void main(String[] args) {
        new Main().solve();
    }

} Main
import java.util.Scanner;

public class Main {

    private void solve() {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int M = sc.nextInt();
        int C = sc.nextInt();

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

        int[][] A = new int[N][M];
        for (int i = 0; i < N; i++) {
            for (int j = 0; j < M; j++) {
                A[i][j] = sc.nextInt();
            }
        }
        int ans = 0;
        for (int i = 0; i < N; i++) {
            int work = 0;
            for (int j = 0; j < M; j++) {
                work += A[i][j] * B[j];
            }
            work += C;
            if (work > 0) {
                ans++;
            }
        }
        System.out.println(ans);
    }

    // Main
    public static void main(String[] args) {
        new Main().solve();
    }

}
