Problem:
 Score : 200 points    Problem Statement There are N pieces of source code. The characteristics of the i -th code is represented by M integers A_{i1}, A_{i2}, ..., A_{iM} .  Additionally, you are given integers B_1, B_2, ..., B_M and C .  The i -th code correctly solves this problem if and only if A_{i1} B_1 + A_{i2} B_2 + ... + A_{iM} B_M + C > 0 .  Among the N codes, find the number of codes that correctly solve this problem.      Constraints  All values in input are integers.  1 \leq N, M \leq 20  -100 \leq A_{ij} \leq 100  -100 \leq B_i \leq 100  -100 \leq C \leq 100         Input Input is given from Standard Input in the following format:  N  M  C  B_1  B_2  ...  B_M  A_{11}  A_{12}  ...  A_{1M}  A_{21}  A_{22}  ...  A_{2M}  \vdots  A_{N1}  A_{N2}  ...  A_{NM}       Output Print the number of codes among the given N codes that correctly solve this problem.        Sample Input 1 2 3 -10
1 2 3
3 2 1
1 2 2      Sample Output 1 1  Only the second code correctly solves this problem, as follows:   Since 3 \times 1 + 2 \times 2 + 1 \times 3 + (-10) = 0 \leq 0 , the first code does not solve this problem.  1 \times 1 + 2 \times 2 + 2 \times 3 + (-10) = 1 > 0 , the second code solves this problem.        Sample Input 2 5 2 -4
-2 5
100 41
100 40
-3 0
-6 -2
18 -13      Sample Output 2 2       Sample Input 3 3 3 0
100 -100 0
0 100 100
100 100 100
-100 100 100      Sample Output 3 0  All of them are Wrong Answer . Except yours.

Solution (Python):
N, M, C = map(int, raw_input().split())
B = map(int, raw_input().split())

answer = 0
for i in range(N):
    A = map(int, raw_input().split())
    sum = 0
    for j in range(M):
        sum += A[j] * B[j]
    if sum + C > 0:
       answer += 1

print(answer)

Solution (Python):
N, M, C = map(int, input().split())
lst_B = list(map(int, input().split()))

AC = 0
for _ in range(N):
    lst_A = list(map(int, input().split()))
    judge = C
    for a, b in zip(lst_A, lst_B):
        judge += a*b
    if judge > 0:
        AC += 1
print(AC)

Solution (Python):
import numpy as np
from sys import stdin
n,m,c = [int(x) for x in stdin.readline().rstrip().split()]
b = [int(x) for x in stdin.readline().rstrip().split()]
data = [stdin.readline().rstrip().split() for _ in range(n)]
data = [[int(i) for i in l] for l in data]
result = 0
for d in data:
    if sum(np.array(d)*np.array(b))+c > 0:
      result+=1
print(result)

Solution (Python):
n,m,c= map(int, input().split())
multi= list(map(int, input().split()))

count=0
for i in range(n):
  ans= 0
  x = list(map(int, input().split()))
  for i in range(m):
    ans+= (x[i]*multi[i])
  if(ans> -c):
    count+= 1
print(count)

Solution (Python):
n, m, c = map(int, input().split())
b = list(map(int, input().split()))
code = []
for i in range(n):
    tmp = list(map(int, input().split()))
    code.append(tmp)
re = 0
for i in range(n):
    ans = 0
    for j in range(m):
        ans += code[i][j] * b[j]
    if ans + c > 0:
        re += 1
print(re)

Solution (Python):
N,M,C= map(int,input().split())
le = list(map(int, input().split()))
a = [0]*N


for i in range(N):
    a[i]=input().rstrip().split()



count = 0
for i in range(N):
    sum = 0
    for j in range(M):
        sum += int(a[i][j])*le[j]

    if sum+C >0:
        count += 1

print(count)

Solution (Python):

N, M, C = map(int,input().split())
B = list(map(int, input().split()))
grid = []
for i in range(N):
    array = list(map(int, input().strip().split(' ')))
    grid.append(array)

x = 0


for i in range(N):
    k = C
    for j in range(M):
        k = k + grid[i][j] * B[j]
    if k > 0:
        x = x +1
    else:
        pass

print(x)

Solution (Python):
import numpy as np

N, M, C = map(int, input().split())
B = np.array(list(map(int, input().split()))).T
A = np.array([list(map(int, input().split())) for _ in range(N)])

D = np.dot(A, B) + C
print(len(D[D > 0]))

Solution (Python):
n, m, c = map(int, input().split())
bs = list(map(int, input().split()))
numbers = []
for i in range(n):
    numbers.append(list(map(int, input().split())))

ans = 0
for nums in numbers:
    s = 0
    for k in range(m):
        s += bs[k] * nums[k]
    if s + c > 0:
        ans += 1

print(ans)

Solution (Python):
import numpy as np

N, M, C = map(int, input().split())

B = list(map(int, input().split()))
Ai = []
for n in range(N):
    Ai.append(list(map(int, input().split())))

B = np.array(B)
count = 0
for a in Ai:
    a = np.array(a)
    if (a * B).sum() + C > 0:
        count += 1

print(count)

Solution (Python):
import numpy as np

N,M,C = map(int,input().split())
B = list(map(int,input().split()))
A = [ list(map(int,input().split())) for i in range(N)]

B = np.array(B)
A = np.array(A)
AB = A*B




ans = 0
for i in range(N):
  if np.sum(AB[i]) + C > 0:
    ans += 1
print(ans)

Solution (Python):
N, M, C = [int(i) for i in input().split()]
B = [int(i) for i in input().split()]
result = 0
for i in range(N):
    A = [int(i) for i in input().split()]
    if sum([A[i] * B[i] for i in range(M)]) + C > 0:
        result += 1
    
print(result)

Solution (Python):
import numpy as np


N, M, C   = [int(i) for i in input().split()]

B = [int(i) for i in input().split()]


A = []
for i in range(N):
    A.append([int(i) for i in input().split()])



B = np.array(B)


A = np.array(A)



print(np.sum((np.sum(A * B, axis=1) + C) > np.array(0)))

Solution (Python):
N, M, C = map(int, input().split())
B = input().split()
ans = 0
for i in range(N):
    A = input().split()
    tmp = 0
    for j in range(M):
        tmp += int(A[j]) * int(B[j])
    if tmp + C > 0:
        ans += 1
print(ans)

Solution (Python):
import numpy as np
N,M,C=(int(x) for x in input().split())
B=np.array([int(x) for x in input().split()])
count=0
for i in range(N):
	A=np.array([int(x) for x in input().split()])
	if (np.dot(A,B)+C)>0:
		count+=1
print(count)

Solution (Python):
N,M,C  = map(int,input().split())

B = list(map(int,input().split()))

counter = 0


A_list = []
for i in range(N):
    sum_seki = 0
    A = list(map(int,input().split()))
    for j in range(M):
        seki = A[j]*B[j]
        sum_seki = sum_seki + seki
    ans = sum_seki + C
    if ans > 0:
        counter += 1


print(counter)

Solution (Python):
n,m,c = map(int,input().split())
b = list(map(int,input().split()))
a = []
[a.append(list(map(int,input().split()))) for _ in range(n)]
res=0
for i in a:
    if sum([i[j]*b[j] for j in range(len(i))])+c>0:
        res+=1
print(res)

Solution (Python):
N,M,C = map(int,input().split())
Bs = list(map(int, input().split()))
As = list(list(map(int, input().split())) for _ in range(N))

cnt = 0
for a in As:
    ans = 0
    for i in range(len(a)):
        ans += Bs[i]*a[i]
    ans += C
    
    if ans > 0:
        cnt += 1
print(cnt)

Solution (Python):
n, m, c = [int(_) for _ in input().split(' ')]
b = [int(_) for _ in input().split(' ')]
a = [[int(_) for _ in input().split(' ')] for __ in range(n)]
print(len([i for i in range(n) if sum([a[i][j] * b[j] for j in range(m)]) + c > 0]))

Solution (Python):
n,m,c = map(int, input().split())

b = list(map(int, input().split()))

cnt = 0
for i in range(n):
    temp = list(map(int, input().split()))
    judge = 0
    for i,a in enumerate(temp):
        judge = judge + b[i]*a
    judge = judge + c
    if judge > 0:
        cnt = cnt + 1

print(cnt)

Solution (Python):
N,M,C=[int(s) for s in input().split()]
B=[int(s) for s in input().split()]
A=[[int(s) for s in input().split()] for i in range(N)]
n=0
for i in range(N):
        x = 0
        for j in range(M):
                x = x + A[i][j]*B[j]
        if x+C>0:
                n = n+1
print(n)

Solution (Python):

import numpy as np
N, M, C = map(int, input().split())
B = np.array(list(map(int, input().split())))
A = np.array([list(map(int, input().split())) for _ in range(N)])
sum_ = np.array([np.sum(A[i] * B) + C for i in range(N)])
print(np.sum(sum_ > 0))

Solution (Python):
N, M, C = map(int, input().split())
B = list(map(int, input().split()))
counter = 0

for i in range(N):
    A = list(map(int, input().split()))
    mul = [a*b for a, b in zip(A, B)]
    mul.append(C)
    if sum(mul) > 0:
        counter += 1

print(counter)

Solution (Python):
import sys

def isAC (I):
  result = False
  tmp = 0
  for i in range(f_num):
    tmp += I[i] * B[i]
  tmp += C
  if tmp > 0:
    result = True
  return result

a = list(map(int, input().split()))

s_num = a[0]
f_num = a[1]
C = a[2]

a = list(map(int, input().split()))
B = []
for i in a:
  B.append(i)

A = []
for i in range(s_num):
  a = list(map(int, input().split()))
  A.append(a)

ans = 0
for I in A:
  if isAC(I):
    ans += 1

print(ans)

Solution (Python):
import numpy as np

N, M, C = [int(_) for _ in input().split()]
B = np.array([int(_) for _ in input().split()])
cnt = 0

for i in range(N):
    A = np.array([int(_) for _ in input().split()])
    if np.dot(A, B) + C > 0:
        cnt += 1

print(cnt)

Solution (Python):
N,M,C=map(int,input().split())
B=list(map(int, input().split()))
ok=0
for i in range(N):
  A=list(map(int, input().split()))
  x=0
  for i in range(M):
    x+=A[i]*B[i]
  if x+C>0:
    ok+=1
print(ok)

Solution (Python):
N, M, C = list(map(int, input().split()))
B = list(map(int, input().split()))
ans = 0
for i in range(N):
    A = list(map(int, input().split()))
    tmp = 0
    for j in range(M):
        tmp += A[j] * B[j]
    else:
        tmp += C
        if tmp > 0:
            ans += 1
print(ans)

Solution (Python):
N, M, C = map(int, input().split())
Bn = [int(i) for i in input().split()]
An = [[int(j) for j in input().split()] for i in range(N)]


def main():
    ans = 0

    for i in range(N):
        num = 0
        for Bi, Ai in zip(Bn, An[i]):
            num += Ai * Bi
        if 0 < num + C:
            ans += 1

    print(ans)
    return


main()

Solution (Python):


def check_ans(Ai, B, C):
    ans = 0
    for Aij, Bj in zip(Ai, B):
        ans += Aij * Bj
    ans += C
    if ans > 0:
        return True
    else:
        return False
        
N, M, C = map(int, input().split())
B = list(map(int, input().split()))
A = [list(map(int, input().split())) for i in range(N)]

cnt = 0
for Ai in A:
    if check_ans(Ai, B, C):
        cnt += 1

print(cnt)

Solution (Python):
N,M,C = map(int,input().split())
B = input().split()
Anm = []
for i in range(N):
    Anm.append(input().split())
cont = 0
for A in Anm:
    c = C
    for i in range(M):
        c += int(A[i]) * int(B[i])
    if c > 0:
        cont += 1
print(cont)

Solution (Python):
import numpy as np

N, M, C = map(int, input().split())
B= np.array(list(map(int, input().split())))
truthCnt = 0
for i in range(0, N):
    A = np.array(list(map(int, input().split())))
    sum = C
    for j in range(0, M):
        sum += A[j]*B[j]

    if sum > 0 :
        truthCnt += 1

print(truthCnt)

Solution (Python):
n, m, c = (int(_) for _ in input().split())
b = list(int(_) for _ in input().split())
a = [[int(i) for i in input().split()] for i in range(n)]
ret = 0


for i in range(n):
    r = 0
    for j in range(m):
        r += a[i][j] * b[j]
    if (r + c > 0):
        ret += 1

print(ret)

Solution (Python):

import sys

import heapq
import re
import bisect
import random
import math
import itertools
from collections import defaultdict, deque
from copy import deepcopy
from decimal import *

a, b, c = map(int, input().split())

b = list(map(int, input().split()))

count = 0
for i in range(a):
    d = list(map(int, input().split()))
    s = 0
    for j in range(len(d)):
        s += d[j] * b[j]
    s += c
    if s > 0:
        count += 1
print(count)

Solution (Python):
NMC = list(map(int, input().split()))
B = list(map(int, input().split()))
A = []
for i in range(NMC[0]):
    A.append(list(map(int, input().split())))
ans = 0
tmp = 0
for a in A:
    tmp = 0
    for i in range(NMC[1]):
        tmp += (a[i]*B[i])
    tmp += NMC[2]
    if tmp > 0:
        ans += 1
print(ans)

Solution (Python):
N,M,C = map(int, input().split())
B = list(input().split())
data = [input().split() for i in range(N)]

con = 0

for x in range(N):
    num = C
    for xx in range(M):
        num += int(data[x][xx])*int(B[xx])
    if(num > 0):
        con += 1
print(con)

Solution (Python):
from operator import mul
n, m, c = (int(i) for i in input().split())
b = list(int(i) for i in input().split())
cnt = 0
for i in range(n):
    a = list(int(i) for i in input().split())
    if sum(list(map(mul, b, a))) + c > 0:
        cnt = cnt + 1
print(cnt)

Solution (Python):
import numpy as np
N,M,C = map(int,input().split())
Bi = list(map(int,input().split()))

result=0

for i in range(N):
	Ai = list(map(int,input().split()))
	Ax = np.array(Ai)
	Bx = np.array(Bi)
	Ci = Ax * Bx
	if sum(Ci) + C > 0:
		result = result + 1
	

print(result)

Solution (Python):
n,m,c = (int(_) for _ in input().split())
b = [int(_) for _ in input().split()]
a = [[int(i) for i in input().split()] for i in range(n)]

t = 0
for i in a:
    s = 0
    for j in range(m):
        s = s + i[j]*b[j]

    if(s+c > 0):
        t = t + 1

print(t)

Solution (Python):
n,m,c=map(int, input().split())
b=list(map(int,input().split()))
A = [list(map(int, input().split())) for _ in range(n)]
def mul(x,y,co):
    p=sum([x[i]*y[i] for i in range(len(x))])
    return p+co
print(sum([mul(a,b,c)>0 for a in A]))

Solution (Python):

n, m, c = map(int, input().split())
b = list(map(int, input().split()))
a = [list(map(int, input().split())) for _ in range(n)]
count = 0
for row in a:
    sum = c
    for v1, v2 in zip(row, b):
        sum += v1 * v2
    if sum > 0:
        count += 1
print(count)

Solution (Python):
n,m,c=map(int,input().split())
b=list(map(int,input().split()))
ans=0
for i in range(n):
    a=list(map(int,input().split()))
    x=0
    for j in range(m):
       x+=a[j]*b[j]
    if x+c>0:ans+=1
print(ans)

Solution (Python):
N, M, C = map(int, input().split())
b_list = list(map(int,input().split()))
c = 0
for i in range(N):
	a_list = list(map(int, input().split()))
	sum = 0
	for i in range(M):
		sum = b_list[i] * a_list[i] + sum
	sum = sum + C
	if sum > 0:
		c = c + 1
print(c)

Solution (Python):
N, M, C = map(int, input().split())
B_list = list(map(int, input().split()))
answer = 0
for i in range(N):
    A_list = list(map(int, input().split()))
    C_list = [A * B for(A, B) in zip(A_list, B_list)]
    if sum(C_list) + C > 0:
        answer += 1
print(answer)

Solution (Python):
N,M,C = map(int, input().split())
B = list(map(int, input().split()))
A = [[] for _ in range(N)]
for i in range(N):
    A[i] = list(map(int, input().split()))

n = 0
for i in range(N):
    f = 0
    for j in range(M):
        f += A[i][j]*B[j]
    f += C
    if f>0:
        n += 1
        
print(n)

Solution (Python):
import numpy as np
N, M, C = map(int, input().split())
b = np.array(list(map(int, input().split())))

ans = 0
for n in range(N):
  a = np.array(list(map(int, input().split())))
  if sum(a * b) + C > 0:
    ans += 1
print(ans)

Solution (Python):
N, M, C =  map(int, (input().split(' ')))
B_list = list(map(int, input().split(' ')))
collect = 0
i = 0
while i < N:
    A_list = list(map(int, input().split(' ')))
    if sum([A*B for A,B in zip(A_list, B_list)]) + C > 0:
        collect += 1
    i+=1


print(collect)

Solution (Python):
n,m,c = map(int,input().split())
ans = list(map(int,input().split()))
cnt = 0
for i in range(n):
    g = 0
    x = list(map(int,input().split()))
    for j in range(m):
        g += ans[j]*x[j]
    if g+c>0:
        cnt+=1
print(cnt)

Solution (Python):
def main():
    N, M, C = map(int, input().split())
    B = [int(x) for x in input().split()]
    A = [[int(a) for a in input().split()] for i in range(N)]

    results = 0

    for a_line in A:
        tmp = 0
        for a, b in zip(a_line, B):
            tmp += a*b
        tmp += C
        if tmp > 0:
            results += 1

    print(results)


if __name__ == "__main__":
    main()

Solution (Python):
N, M, C = map(int, input().split())
B = list(map(int, input().split()))
A = [list(map(int, input().split())) for _ in range(N)]
ans = 0
for i in range(N):
    hantei = C
    for j in range(M):
        hantei += A[i][j] * B[j]
    if hantei > 0: ans += 1
print(ans)

Solution (Python):
n,m,c = list(map(int, input().split()))
b = list(map(int, input().split()))
a = []
for i in range(0,n) :
    a.append(list(map(int, input().split())))
count = 0
for j in range(n) :
    s = 0
    for i in range(0,m) :
        s += b[i] * a[j][i]
    s += c
    if s > 0 :
        count += 1
print(count)

Solution (Python):
N,M,C= map(int,input().split())
B = list(map(int,input().split()))

A = []
for it in range(N):
    A.append(list(map(int,input().split())))







def j(A,B,C):
    ab = 0
    for it in range(M):
        ab += A[it]*B[it]
    ans = ab + C
    
    if ans > 0:
        return True

    else:
        return False

count = 0
for it in range(N):
    if j(A[it],B,C):
        count += 1

print(count)

Solution (Python):
import sys

l = raw_input().split()
N = int(l[0])
M = int(l[1])
C = int(l[2])

B = raw_input().split()
A = [[]*M]*N

for n in range(N):
    A[n] = raw_input().split()

correct = 0

for n in range(N):
    answer = C
    An = A[n]
    for m in range(M):
        answer += int(An[m]) * int(B[m])
    if answer > 0:
        correct += 1

print(correct)

Solution (Python):
N,M,C = map(int, input().split())
B = [int(i) for i in input().split()]

A = []
for i in range(N):
    A.append([int(i) for i in input().split()])
    
ans = 0
for i in range(N):
    check = 0
    for j in range(M):
        check += B[j] * A[i][j]
    if check + C > 0:
        ans += 1
print(ans)

Solution (Python):
n,m,c = map(int,input().split())
b = list(map(int,input().split()))
count = 0
for i in range(n):
  s = 0
  a = list(map(int,input().split()))
  for j in range(m):
    s+=a[j]*b[j]  
  if s+c>0:
    count+=1
print(count)

Solution (Python):
N, M, C = map(int, input().split())
bias = [int(i) for i in input().split()]
sources = [[int(i) for i in input().split()] for _ in range(N)]

oks = 0

for source in sources:
    score = C
    for key in range(M):
        score += bias[key] * source[key]
    if score> 0:
        oks += 1

print(oks)

Solution (Python):
n, m, c = map(int, input().split())
b= list(map(int, input().split()))
a=[]
for i in range(n):
    a.append(list(map(int, input().split())))
    
ans = 0
for i in a:
    point = 0
    for j in range(len(b)):
        point = point + i[j]*b[j]
    if point > -c:
        ans = ans +1
print(ans)

Solution (Python):
(n,m,c) = map(int, input().split())
bs = list(map(int, input().split()))
cnt = 0
for _ in range(n):
    
    ass = list(map(int, input().split()))
    
    sum = 0
    for (a,b) in zip(ass,bs):
        sum = sum + a*b
    
    if sum + c > 0:
        cnt = cnt + 1

print(cnt)

Solution (Python):
N,M,C = map(int, input().split(" "))
B = input().split(" ")

A = []

for i in range(N):
  A.append(input().split(" "))

count = 0
for NIndex in range(N):
  cal = 0
  for MIndex in range(M):
    cal += int(A[NIndex][MIndex]) * int(B[MIndex])
  cal += C
  if cal > 0:
    count += 1
    
print(count)

Solution (Python):
n,m,c = list(map(int,input().split()))
b = list(map(int,input().split()))

def solve(a,b,c):
    val = 0
    for ia,ib in zip(a,b):
        val += ia*ib
    val += c
    return val > 0

cnt = 0
for i in range(n):
    a = list(map(int,input().split()))
    if solve(a,b,c):
        cnt += 1

print(cnt)

Solution (Python):
N , M , C  = map(int,input().split())
B = list(map(int,input().split()))
count = 0
for _ in range(N):
	A = list(map(int,input().split()))
	temp = 0
	for i in range(M):		
		temp += A[i]*B[i]
	temp += C
	if temp > 0:
		count += 1

print(count)

Solution (Python):
n, m, c = map(int, input().split())
B = list(map(int, input().split()))
count = 0
for i in range(n):
    tmp = 0
    A = list(map(int, input().split()))
    for j in range(m):
        tmp += A[j]*B[j]
    if(tmp + c > 0):
        count += 1
print(count)

Solution (Python):

import numpy as np
N, M, C = map(int, input().split())
B = np.array(list(map(int, input().split())))
ans = 0
for i in range(N):
    A = np.array(list(map(int, input().split())))
    if sum(A*B)+C > 0:
        ans+=1

print(ans)

Solution (Python):
N, M, C = map(int,input().split(' '))
import numpy as np
B = np.array(list(map(int,input().split(' '))))
def f(A, B, C):
    A = np.array(list(map(int,A.split(' '))))
    return np.sum(A*B) +C >  0
print(np.sum([f(input(), B, C) for i in range(N)]))

Solution (Python):
N,M,C=map(int,raw_input().split())
B_ary=[]
A_ary=[]

B_ary = map(int,raw_input().split())

score=0
result = 0
for i in range(N):
    score=0
    A = map(int,raw_input().split())
    for j in range(M):
        score = score + A[j] * B_ary[j]

    if score + C > 0:
        result = result + 1

print result

Solution (Python):
import numpy as np
N, M, C = [int(x) for x in input().split()]
B = np.array([int(x) for x in input().split()])
A = np.array([[int(x) for x in input().split()] for _ in range(N)])
print(np.sum(np.sum(A*B, axis=1) > -C))

Solution (Python):
N, M, C = map(int, input().split())
B = list(map(int, input().split()))
mat = []
for i in range(N):
    mat.append(list(map(int, input().split())))

cnt = 0
for i in range(N):
    result = C
    for j in range(M):
        result += mat[i][j] * B[j]
    if result > 0:
        cnt += 1

print(cnt)

Solution (Python):
import numpy as np
n,m,c = map(int,input().split())
b = np.array([int(i) for i in input().split()])
a = np.array([[int(i) for i in input().split()]for j in range(n)])
count = 0
for i in a:
  if (i*b).sum()+c >0:
    count+=1
print(count)

Solution (Python):
N, M, C = map(int, input().split())
B = list(map(int, input().split()))

ret = 0
for n in range(N):
  temp = 0
  A = list(map(int, input().split()))
  for m in range(M):
    temp += A[m] * B[m]
  temp += C
  if 0 < temp:
    ret += 1

print(ret)

Solution (Python):
n, m, c = map(int, input().split())
b = list(map(int, input().split()))

a = []
for i in range(n):
	temp = list(map(int, input().split()))
	a.append(temp)

count = 0
for item in a:
	total = 0
	for i in range(m):
		total += (b[i] * item[i])
	total += c
	if total > 0:
		count += 1

print(count)

Solution (Python):
N,M,C=map(int,input().split())
b=list(map(int,input().split()))
ans=0

for i in range(N):
    temp=C
    a=list(map(int,input().split()))
    for j in range(M):
        temp+=a[j]*b[j]
    if temp>0:
        ans+=1
    
print(ans)

Solution (Python):
N, M, C = map(int, input().split())
B = [int(x) for x in input().split()]
A = []
count = 0
for i in range(N):
    A.append([int(x) for x in input().split()])
for i in range(N):
    tmp = 0
    for j in range(M):
        tmp += A[i][j]*B[j]
    if tmp + C > 0:
        count += 1
print(count)

Solution (Python):
n, m, c = (int(i) for i in input().split())
b_list = [int(i) for i in input().split()]
count = 0

for _ in range(n):
  a_list = [int(i) for i in input().split()]
  inner_product = 0
  for j in range(m):
    inner_product += a_list[j] * b_list[j]
  if inner_product + c > 0:
    count += 1

print(count)

Solution (Python):
from sys import exit

N, M, C = map(int, input().split())

B = list(map(int, input().split()))

A = [[""] * M] * N

for i in range(N):
    A[i] = list(input().split())

result = 0

for i in range(N):
    score = C
    for j in range(M):
        score += int(A[i][j]) * B[j]
    if score > 0:
        result += 1

print(result)

Solution (Python):
import numpy as np

N, M, C = [int(s) for s in input().split(" ")]
B = np.array([int(s) for s in input().split(" ")])
counter = 0
for _ in range(N):
    A = np.array([int(s) for s in input().split(" ")])
    if np.dot(A, B) + C > 0:
        counter += 1
print(counter)

Solution (Python):
n,m,c = map(int, input().split())
data_b = list(map(int, input().split()))
res = 0
digit = 0
for i in range(n):
  data_a = list(map(int, input().split()))
  for j in range(m):
    digit += data_a[j]*data_b[j]
  if digit + c > 0:
    res += 1
  digit = 0
print(res)

Solution (Python):
n,m,k = map(int,input().split())

b = input().split()
kotae = 0
for i in range(n):
    c = input().split()
    ans = 0
    for j in range(m):
        ans += int(b[j]) * int(c[j])
    if ans+k > 0:
        kotae += 1
print(kotae)

Solution (Python):
N, M, C = map(int, input().split())
B = list(map(int, input().split()))

A = []
for i in range(N):
    A.append(list(map(int, input().split())))
    
l_ans = []
for a in A:

    l_ans.append(sum([a[j] * B[j] for j in range(M)]) + C > 0)
print(sum(l_ans))

Solution (Python):
from sys import stdin
import numpy as np
N,M,C=[int(x) for x in stdin.readline().rstrip().split()]
B=[int(x) for x in stdin.readline().rstrip().split()]
data=[]
for i in range(N):
    data.append([int(x) for x in stdin.readline().rstrip().split()])

ans=0
for j in data:
    tmp=np.array(j)*np.array(B)
    if np.sum(tmp)+C > 0:
        ans+=1
print(ans)

Solution (Python):
[n, m, c] = [int(i) for i in input().split()]
list_b = [int(i) for i in input().split()]
lists = [[int(j) for j in input().split()] for i in range(0, n)]

cnt = 0
for a in lists:
    total = 0
    for (idx, b) in enumerate(list_b):
        total = total + a[idx] * b
    total = total + c
    if total > 0:
        cnt = cnt + 1
print(cnt)

Solution (Python):
N, M, C = map(int, input().split())
B = list(map(int, input().split()))
cnt = 0
c = 0
for i in range(N):
    s = 0
    A = list(map(int, input().split()))
    for j in range(M):
        s += A[j] * B[j]
    s += C
    if s > 0:
        c += 1
print(c)

Solution (Python):
n,m,c=map(int,input().split())
b=list(map(int,input().split()))
cnt =0
for i in range(n):
  a=list(map(int,input().split()))
  s=c+sum([b[j]*a[j] for j in range(m)])
  if s>0:
    cnt +=1
print(cnt)

Solution (Python):
N,M,C=map(int,input().split())
B=list(map(int,input().split()))
count=0
goukei=0
for i in range(N):
    goukei=0
    A=list(map(int,input().split()))
    for j in range(M):
        goukei+=B[j]*A[j]
    if goukei+C>0:
        count+=1



print(count)

Solution (Python):

def IL(): return list(map(int,input().split()))
def SL(): return input().split()
def I(): return int(input())
def S(): return list(input())
import numpy as np
n,m,c=IL()
b=np.array(IL())
ans=0
for i in range(n):
    a=np.array(IL())
    if np.sum(a*b)+c>0:
        ans+=1
print(ans)

Solution (Python):
N, M, C = [int(x) for x in input().split()]
B = [int(x) for x in input().split()]
A = []
for i in range(N):
    A.append([int(x) for x in input().split()])
result = 0
for i in range(N):
    tmp = 0
    for j in range(M):
        tmp += A[i][j] * B[j]
    if tmp + C > 0:
        result += 1
print(result)

Solution (Python):
N,M,C = list(map(int,input().split(" ")))
bs = map(int,input().split(" "))
bs = list(bs)
ans = 0
for i in range(N):
    num = 0
    As = map(int, input().split(" "))
    As = list(As)
    for a,b in zip(As,bs):
        num += a*b
    num += C
    if num >0:
        ans += 1

print(ans)

Solution (Python):

import numpy as np


N,M,C = map(int, input().split())
Bs = np.array(list(map(int, input().split())))
ans = 0

for _ in range(N):
    As = np.array(list(map(int, input().split())))
    if np.sum(As * Bs) + C > 0:
        ans += 1

print(ans)

Solution (Python):
N,M,C = list(map(int, input().split()))
B = list(map(int, input().split()))

count = 0
for _ in range(N):
    A = list(map(int, input().split()))
    val = 0;
    for i in range(M):
        val += A[i] * B[i]
    val += C
    if val > 0:
        count += 1

print(count)

Solution (Python):
a = list(map(int, input().split()))
b = list(map(int, input().split()))
L = []
for i in range(a[0]):
    L.append(list(map(int, input().split())))

res = 0
for i in range(a[0]):
    if sum([L[i][ii] * b[ii] for ii in range(a[1])]) + a[2] > 0:
        res += 1

print(res)

Solution (Python):
N, M, C = map(int, input().split())
B = list(int(x) for x in input().split())

z = 0
for i in range(N):
    A = list(int(x) for x in input().split())
    ab = 0
    for j in range(M):
        ab += A[j] * B[j]
    if (ab + C) > 0:
        z += 1
print(z)

Solution (Python):
import sys

def is_ok(a_lst, b_lst, c):
    if len(a_lst) != len(b_lst):
        print(a_lst)
        print(b_lst)
        raise 'aaaaaaaaa'

    s = sum([ a * b for a, b in zip(a_lst, b_lst)]) + c
    return s > 0

def main():
    line = sys.stdin.readline()
    lst = line.split()
    n = int(lst[0])
    m = int(lst[1])
    c = int(lst[2])

    line = sys.stdin.readline()
    b_lst = [ int(s) for s in line.split()]

    ans = 0

    for i in range(n):
        line = sys.stdin.readline()
        a_lst = [ int(s) for s in line.split()]

        if is_ok(a_lst, b_lst, c):
            ans += 1

    print(ans)

    return 0

if __name__ == '__main__':
    sys.exit(main())

Solution (Python):
import numpy as np
N,M,C = map(int,input().split())
B = input().split()
B = np.array([int(i) for i in B])
A = np.array([list(map(int, input().split())) for _ in range(N)])
count = 0
for i in range(N):
    if np.dot(B,A[i])+C>0:
        count+=1
print(count)

Solution (Python):
N, M, C = map(int, input().split())
B = list(map(int, input().split()))
ans = 0
for i in range(N):
    A = list(map(int, input().split()))
    if sum([a*b for a, b in zip(A, B)]) + C > 0:
        ans += 1
print(ans)

Solution (Python):
n, m, c = [int(elem) for elem in input().split()]
b = [int(elem) for elem in input().split()]

a_lst = []
cnt = 0
for i in range(0, n):
    a = [int(elem) for elem in input().split()]
    res = 0
    for a_i, b_i in zip(a, b):
        res += a_i * b_i
    res += c
    if res > 0:
        cnt += 1
print(cnt)

Solution (Python):
from functools import reduce
N, M, C = map(int, input().split())
*B, = map(int, input().split())
count = 0
for _ in range(N):
	if 0 < C + reduce(lambda acc, p: acc + p[0]*p[1], zip(map(int, input().split()), B), 0):
		count += 1
print(count)

Solution (Python):
n, m, c = map(int, input().split())
b_list = list(map(int, input().split()))

n_correct = 0
for i in range(n):
    sum_eq = sum(
        [a * b_list[j] for j, a in enumerate(list(map(int,
                                                      input().split())))])
    if sum_eq + c > 0:
        n_correct += 1
print(n_correct)

Solution (Python):
N,M,C = map(int, input().split(" "))
b_list = input().split(" ")
B=[int(b_list[i]) for i in range(M)]
output=0
for i in range(N):
    a_list = input().split(" ")
    A=[int(a_list[ii]) for ii in range(M)]
    total=0
    for iii in range(M):
        tmp = A[iii]*B[iii]
        total+=tmp
    if (total+C)>0:
        output+=1
print(output)

Solution (Python):
N,M,C = (int(i) for i in input().split())
b = [int(i) for i in input().split()]
cnt = 0
for n in range(N):
  a = [int(i) for i in input().split()]
  total = C
  for m in range(M):
    total += a[m] * b[m]
  if total > 0:
    cnt += 1
print(cnt)

Solution (Python):
N,M,C = map(int,input().split())
B = list(map(int,input().split()))
A = [ list(map(int,input().split())) for _ in range(N) ]
 
ans = 0
for a in A:
  s = 0
  for i in range(M):
    s += a[i] * B[i]
  ans += 1 if s+C > 0 else 0
print(ans)

Solution (Python):

"""
Created on Sun Mar  3 20:59:27 2019

@author: doppe
"""
N, M, C = map(int, input().split())
B = [int(i) for i in input().split()]
A = []
for i in range (0, N):
    A.append([int(j) for j in input().split()])

count = 0
for i in range(0, N):
    calc = 0
    for j in range(0, M):
        calc += B[j] * A[i][j]
    if (calc + C > 0):
        count += 1

print(count)

Solution (Python):
N, M, C = map(int, input().split())
B = list(int(x) for x in input().split())
ans = 0
for i in range(N):
  x = 0
  A = list(int(x) for x in input().split())
  for j in range(M):
    x += A[j]*B[j]
  if x + C > 0:
    ans += 1
print(ans)