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[][] A = new int[N][M];
    int[] B = new int[M];
    int[] count = new int[N];
    int tmp =C,ans =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++) {
      for (int j=0; j<M; j++) {
        tmp += A[i][j] * B[j];
      }
      if (tmp > 0) count[i]++;
      tmp = C;
    }
    for (int i=0; i<N; i++) {
      if (count[i] == 1) ans++;
    }
    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[][] A = new int[N][M];
    int[] B = new int[M];
    int[] count = new int[N];
    int tmp =C,ans =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++) {
      for (int j=0; j<M; j++) {
        tmp += A[i][j] * B[j];
      }
      if (tmp > 0) count[i]++;
      tmp = C;
    }
    for (int i=0; i<N; i++) {
      if (count[i] == 1) ans++;
    }
    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[][] A = new int[N][M];
    int[] B = new int[M];
    int[] count = new int[N];
    int tmp =C,ans =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++) {
      for (int j=0; j<M; j++) {
        tmp += A[i][j] * B[j];
      }
      if (tmp > 0) count[i]++;
      tmp = C;
    }
    for (int i=0; i<N; i++) {
      if (count[i] == 1) ans++;
    }
    System.out.println(ans);
  } main {
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
    int M = sc.nextInt();
    int C = sc.nextInt();
    int[][] A = new int[N][M];
    int[] B = new int[M];
    int[] count = new int[N];
    int tmp =C,ans =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++) {
      for (int j=0; j<M; j++) {
        tmp += A[i][j] * B[j];
      }
      if (tmp > 0) count[i]++;
      tmp = C;
    }
    for (int i=0; i<N; i++) {
      if (count[i] == 1) 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[][] A = new int[N][M]; A new int[N][M] N M int[] B = new int[M]; B new int[M] M int[] count = new int[N]; count new int[N] N int tmp =C tmp C ans =0; ans 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] = 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++) {
      for (int j=0; j<M; j++) {
        tmp += A[i][j] * B[j];
      }
      if (tmp > 0) count[i]++;
      tmp = C;
    } int i=0; int i=0; i 0 i<N i N i++ i++ i {
      for (int j=0; j<M; j++) {
        tmp += A[i][j] * B[j];
      }
      if (tmp > 0) count[i]++;
      tmp = C;
    } {
      for (int j=0; j<M; j++) {
        tmp += A[i][j] * B[j];
      }
      if (tmp > 0) count[i]++;
      tmp = C;
    } for (int j=0; j<M; j++) {
        tmp += A[i][j] * B[j];
      } int j=0; int j=0; j 0 j<M j M j++ j++ j {
        tmp += A[i][j] * B[j];
      } {
        tmp += A[i][j] * B[j];
      } tmp += A[i][j] * B[j] tmp A[i][j] * B[j] A[i][j] A[i] A i j B[j] B j if (tmp > 0) count[i]++; tmp > 0 tmp 0 count[i]++ count[i] count i tmp = C tmp C for (int i=0; i<N; i++) {
      if (count[i] == 1) ans++;
    } int i=0; int i=0; i 0 i<N i N i++ i++ i {
      if (count[i] == 1) ans++;
    } {
      if (count[i] == 1) ans++;
    } if (count[i] == 1) ans++; count[i] == 1 count[i] count i 1 ans++ ans 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[][] A = new int[N][M];
    int[] B = new int[M];
    int[] count = new int[N];
    int tmp =C,ans =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++) {
      for (int j=0; j<M; j++) {
        tmp += A[i][j] * B[j];
      }
      if (tmp > 0) count[i]++;
      tmp = C;
    }
    for (int i=0; i<N; i++) {
      if (count[i] == 1) ans++;
    }
    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[][] A = new int[N][M];
    int[] B = new int[M];
    int[] count = new int[N];
    int tmp =C,ans =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++) {
      for (int j=0; j<M; j++) {
        tmp += A[i][j] * B[j];
      }
      if (tmp > 0) count[i]++;
      tmp = C;
    }
    for (int i=0; i<N; i++) {
      if (count[i] == 1) ans++;
    }
    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[][] A = new int[N][M];
    int[] B = new int[M];
    int[] count = new int[N];
    int tmp =C,ans =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++) {
      for (int j=0; j<M; j++) {
        tmp += A[i][j] * B[j];
      }
      if (tmp > 0) count[i]++;
      tmp = C;
    }
    for (int i=0; i<N; i++) {
      if (count[i] == 1) ans++;
    }
    System.out.println(ans);
  }
}