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,input().split())
B = li = list(map(int,input().split()))
A = []
for i in range(N):
    array = list(map(int, input().strip().split(' ')))
    A.append(array)
ans = 0

for cnt in range(N):
    sum = 0
    for idx in range(M):
        sum += B[idx]*A[cnt][idx]
    if sum+C > 0:
        ans += 1
        
print(ans)

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 A:
    sumS = C
    for j in range(M):
        sumS += B[j]* i[j]
    if sumS > 0:
        ans += 1
print(ans)

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

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 _ in range(N)]

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

result = np.dot(A, B) + C
print(np.sum(result > 0))

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(map(lambda x: x[0]*x[1], zip(A, B))) + C > 0:
        ans += 1
print(ans)

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

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

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)]
a=np.array(A)
b=np.array(B)
count=0
for i in range(N):
    if np.inner(a[i],b)+C>0:
        count+=1
print(count)

Solution (Python):
def get(a, b):
    s = 0
    for i in range(m):
        s += a[i] * b[i]
    return s + c > 0


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()))
    ans += get(a, b)
print(ans)

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

Solution (Python):
n,m,c=map(int,input().split())
b=list(map(int,input().split()))
a=[]
cnt=0
sum=0

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

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

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

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()))
	s = 0
	for j in range(M):
		s += A[j] * B[j]

	if s + C > 0:
		ans += 1

print(ans)

Solution (Python):
from sys import stdin

def main():
    N, M, C = map(int, input().split())
    B = tuple(map(int, input().split()))
    A = [tuple(map(int, input().split())) for _ in [0] * N]

    ans = 0
    for a in A:
        total = C
        for i, j in zip(a, B):
            total += i * j
        if total > 0:
            ans += 1
    print(ans)

input = lambda: stdin.readline()
main()

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 range(n):
    x=0
    for j in range(m):
        x+=A[i][j]*B[j]
    if x+c>0:
        ans+=1
print(ans)

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 i in range(n)])
cnt = 0
sum = 0

for i in range(n):
  sum = np.sum(a[i] * b) + c
  if sum > 0:
    cnt += 1

    
print(cnt)

Solution (Python):
"""
B - Can you solve this?
2回目. 型アノテーションがはじかれるの忘れてた
"""


def solve():
    N, M, C = map(int, input().split())
    B = list(map(int, input().split()))
    ans = 0
    for n in range(N):
        A = list(map(int, input().split()))
        AB = [A[i] * B[i] for i in range(len(A))]
        if sum(AB) + C > 0:
            ans += 1
    print(ans)


if __name__ == '__main__':
    solve()

Solution (Python):


"""
Created on 2019/3/9
Solved on 2019/3/9
@author: shinjisu
"""






def getInt(): return int(input())


def getIntList(): return [int(x) for x in input().split()]


def zeros(n): return [0]*n


def getIntLines(n): return [int(input()) for i in range(n)]


def getIntMat(n):
    mat = []
    for i in range(n):
        mat.append(getIntList())
    return mat


def zeros2(n, m): return [zeros(m)]*n


ALPHABET = [chr(i+ord('a')) for i in range(26)]
DIGIT = [chr(i+ord('0')) for i in range(10)]
N1097 = 10**9 + 7
INF = 10**12


def dmp(x, cmt=''):
    global debug
    if debug:
        if cmt != '':
            print(cmt, ':  ', end='')
        print(x)
    return x


def prob_B():
    N, M, C = getIntList()
    dmp((N, M, C))
    B = getIntList()
    dmp(B)
    count = 0
    for i in range(N):
        res = C
        A = getIntList()
        for j in range(M):
            res += A[j]*B[j]
        dmp(res, 'res')
        if res > 0:
            count += 1
    return count


debug = False  
ans = prob_B()
print(ans)




def prob_C():
    S = input()
    red = 0
    blue = 0
    for cube in S:
        if cube == '0':
            red += 1
        else:
            blue += 1
    dmp((red, blue))
    return min(red, blue)*2


def prob_D():
    global N, M, A, B
    N, M = getIntList()
    dmp((N, M))
    A = zeros(M)
    B = zeros(M)
    for i in range(M):
        A[i], B[i] = getIntList()
    dmp(A, 'A')
    dmp(B, 'B')
    count = dmp(countInconv(), 'orginal')
    for i in range(M):
        A[i] = -1
        B[i] = -1
        dmp(A, 'A')
        dmp(B, 'B')
        print(countInconv())
    return count


def prob_A():
    H, W = getIntList()
    h, w = getIntList()
    dmp((H, W))
    dmp((h, w))
    ans = (H-h)*(W-w)
    return ans

Solution (Python):
from sys import stdin
N, M, C = (int(i) for i in input().split())
B = [int(x) for x in stdin.readline().rstrip().split()]
A = [[int(i) for i in input().split()] for i in range(N)]

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

print(score)

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

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

number = 0
for _ in range(N):
    A = [int(i) for i in input().split()]
    point = sum([i * j for i, j in zip(A, B)]) + C
    if point > 0:
        number += 1

print(number)

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

ans = 0
for i in range(N):
  A = []
  A = list(map(int,input().split()))
  if (np.dot(A,B)+C)>0 :
    ans+=1
print(ans)

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

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

    x += C

    if x > 0:
        ans += 1


print(ans)

Solution (Python):
n, m, c = map(int, raw_input().strip().split())
b = map(int, raw_input().strip().split())

ans = 0
for _ in xrange(n):
    a = map(int, raw_input().strip().split())
    val = 0
    for i in xrange(m):
        val = val + a[i] * b[i]
    val += c
    if val > 0: ans += 1

print ans

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

ans = 0
for n in range(N):
    A = []
    A = list(map(int, input().split()))
    tmp = C
    for m in range(M):
        tmp += A[m] * B[m]

    if tmp > 0:
        ans += 1
print(ans)

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

ans = 0
for i in range(N):
	output = 0
	for j in range(M):
		output = output + A_lis[i][j]*B[j]
	output = output + C
	if output > 0:
		ans = ans + 1

print(ans)

Solution (Python):

N, M, C = map(int,input().split())
BM = list(map(int, input().split())) 
cnt = 0
for i in range(N):
    AM = list(map(int, input().split())) 
    comp = C
    for j in range(M):
        comp += BM[j] * AM[j]
    if comp > 0:
        cnt += 1
print(cnt)

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

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

print(num)

Solution (Python):
import numpy as np
n,m,c=map(int,input().split())
b_s = list(map(int,input().split()))
a_s = [list(map(int,input().split())) for _ in range(n)]
b_num = np.array(b_s)
count = 0
for a in a_s:
    a_num = np.array(a)
    res = np.dot(a_num,b_num)
    if res + c > 0:
        count += 1
print(count)

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

ans = 0
for i in range(N):
  tmp = 0
  for k in range(M):
    tmp += A[i][k] * B[k]
  if tmp + C > 0:
    ans += 1
print(ans)

Solution (Python):
n,m,c=map(int, raw_input().split())
b=list(map(int,raw_input().split()))
a=[]
for i in range(n):
    a.append(list(map(int,raw_input().split())))
counter=0
for i in range(n):
    d=0
    for k in range(m):
        d+=a[i][k]*b[k]
    if d+c>0:
        counter+=1
print counter

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

result = 0

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

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):
    x = c
    for j in range(m):
        x += a[i][j] * b[j]
    if x > 0:
        ans += 1
print(ans)

Solution (Python):
n, m, c = map(int,input().split())
b = list(map(int,input().split()))
a = [0]*n
count = 0

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

print(count)

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

Solution (Python):
def cul(a, b, c, m):
    result = 0
    for i in range(m):
        result += int(a[i])*int(b[i])

    return 1 if (result+int(c)) > 0 else 0 

N,M,C = map(int, input().split())
b = input().split()
a = [input().split() for _ in range(N)]

ans = 0
for i in range(N):
    ans += cul(a[i], b, C, M)

print(ans)

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

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

ans = 0
for j in range(n):
    out = c
    A = [int(i) for i in input().split()]
    for i in range(m):
        out += A[i]*B[i]
    if out > 0:
        ans +=1


print(ans)

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

for i in range(N):

    A[i] = list(map(int,input().split()))

answer = 0

for i in range(N):

    checkrank = 0

    for j in range(M):

        checkrank += A[i][j] * B[j]

    if checkrank+C  > 0:

        answer += 1

print(answer)

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

ans = 0

tmp = 0
for a in aa:
    for i in range(m):
        tmp += (b[i] * a[i])
    if tmp + c > 0:
        ans += 1
    tmp = 0
print(ans)

Solution (Python):
import sys
stdin = sys.stdin
 
sys.setrecursionlimit(10**5) 
 
def li(): return map(int, stdin.readline().split())

N, M, C = tuple(li())
Bs = tuple(li())
cnt = 0

for i in range(N):
    total = 0
    Ai = tuple(li())
    for j, b in enumerate(Bs):
        total += b * Ai[j]
    if total + C > 0:
        cnt += 1

print(cnt)

Solution (Python):
def main():

  N, M, C = map(int, input().split(' '))
  Bs = input().split(' ')
  As = []
  for _ in range(N):
    As.append(input().split(' '))

  
  
  
  

  result = 0
  for A in As:
    tmp = 0
    for a, b in zip(A, Bs):
      tmp = tmp + int(a) * int(b)
    tmp += int(C)

    if tmp > 0:
      result += 1

  print(result)


main()

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

result = 0
for n in range(0, N):
    a_list = list(map(int, input().split()))
    judge = C
    for idx in range(0, M):
        judge += a_list[idx] * b_list[idx]
    if judge > 0:
        result += 1

print (result)

Solution (Python):


N, M, C = map(int, input().split())
B = [int(b) for b in input().split()]
Ai = [[int(aij) for aij in input().split()] for _ in range(N)]

counter = 0
for ai in Ai:
    if sum(a * b for a, b in zip(ai, B)) + C > 0:
        counter += 1

print(counter)

Solution (Python):
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 i in range(n):
    d = c
    for j in range(m):
        d += a[i][j]*b[j]
    if d > 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 i in range(n)]
cnt = 0
for i in range(n):
    ans = c
    for j in range(m):
        ans += b[j]*a[i][j]
    if ans >0: cnt+= 1
print(cnt)

Solution (Python):
li1 = list(map(int,input().split()))
cnt=0
n=0
b = list(map(int,input().split()))
for i in range(li1[0]):
    test = list(map(int,input().split()))
    n=0
    for j in range(li1[1]):
        n+=test[j]*b[j]
    if n+li1[2]>0:
        cnt+=1
print(cnt)

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

A=[]
ans=0

for z in range(0,N):
  A.append([int(z) for z in input().split(" ")])

for z in A:
  buf=0
  for i,y in enumerate(z):
    buf+=y*B[i]
  buf+=C
  if buf>0:
    ans+=1

print(ans)

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

cnt = 0
list_A = []
for n in range(N):
  list_A = list(map(int,input().split()))
  out = 0
  for m in range(M):
    out += list_A[m] * list_B[m]

  out += C
  if out > 0:
    cnt += 1


print(cnt)

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

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

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 i in range(N)]
count=0
for i in range(N):
  sum=0
  for j in range(M):
    sum+=A[i][j]*B[j]
  if sum+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):
    d = list(map(int,input().split()))
    su = 0
    for l in range(m):
        su += b[l]*d[l]
    if su+c > 0:
        ans += 1

print(ans)

Solution (Python):
import numpy as np
N,M,C = map(int,input().split(' '))
B = np.array(list(map(int,input().split(' '))))
As = [list(map(int,input().split(' '))) for i in [0]*N]

ans = 0
for A in As:
	if np.sum(A*B) + C > 0:
		ans += 1
print(ans)

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 Ai in A:
  count += sum(a * b for a,b in zip(Ai,B)) + C > 0
print(count)

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

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 (np.dot(a,b)+c) >0:
        ans += 1
    
print(ans)

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

ans = 0
for i in range(N):
    a_list = np.array(list(map(int,input().split())))
    s = sum(a_list*b_list)+C
    if s > 0:
        ans += 1
print(ans)

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

Solution (Python):
n, m, c = [int(x) for x in input().split()]
blist = [int(x) for x in input().split()]
alists = []
count = 0
for i in range(n):
    alists.append([int(x) for x in input().split()])
for alist in alists:
    clist = [x * y for (x, y) in zip(alist, blist)]
    if sum(clist) > c * (-1):
        count += 1
print(count)

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

count = 0

for a in A:
    c = sum([a[i]*B[i] for i in range(M)])
    if c+C > 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):
    a = list(map(int, input().split()))
    ans = c
    for i in range(m):
        ans += a[i]*b[i]
    if ans > 0:
        count += 1
print(count)

Solution (Python):
N,M,C=map(int,input().split())
li=[]
while True:
    try:
        li.append(list(map(int,input().split())))

    except:
        break;
      
ans=0
a=0
for i in range(N):
  for j in range(M):
    a=a+li[0][j]*li[i+1][j]
  a=a+C
  if a>0:
    ans=ans+1
  a=0 
print(ans)

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

total = 0
for i in range(N):
    AA = [int(i) for i in input().split()] 
    val = C
    for j in range(M):
        val += AA[j] * B[j]
    if val > 0:
        total += 1

print(total)

Solution (Python):
def dot(a_list, b_list):
    prod = 0
    for a, b in zip(a_list, b_list):
        prod += a * b
    return prod

N, M, C = map(int, input().split())
b_list = list(map(int, input().split()))
a_lists = [list(map(int, input().split())) for _ in range(N)]

count = 0
for a_list in a_lists:
    prod = dot(a_list, b_list)
    if prod + C > 0:
        count += 1

print(count)

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 target in a:
    re=c
    for i in range(len(target)):
        re+=(b[i]*target[i])
    
    if re > 0:
        ans+=1

print(ans)

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

ans=0

for x in A:
	t=0
	for a,b in zip(x,B):
		t+=a*b
	t+=C
	if t>0: ans+=1

print ans

Solution (Python):
import numpy as np
n,m,c = map(int,input().split())
f = lambda:list(map(int,input().split()))
base = np.array(f())
count = 0
for i in range(n):
  comp = np.array(f())
  ans = np.dot(base, comp)+c
  if ans > 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())),dtype=np.int).reshape((M,1))
A = np.empty((N,M),dtype=np.int)
for i in range(N):
    A[i] = list(map(int,input().split()))

AB = np.dot(A,B)
ans = len(np.where(AB+C > 0)[0])

print(ans)

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()))
  score = c
  for i in range(m):
    score += a[i] * b[i]
  if score > 0:
    count += 1
    
print(count)

Solution (Python):
s = input().split()
N = int(s[0])
M = int(s[1])
C = int(s[2])

B = input().split()
inputs = [input().split() for i in range(N)]

answer = 0
for A in inputs:
  total = 0
  for i in range(M):
    total += int(A[i])*int(B[i])
    
  total += C
  if total > 0:
    answer += 1
    
print(answer)

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

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

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

print(counter)

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

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

Solution (Python):
from operator import mul

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

A = [0]*N
for i in range(N):
    A[i] = list(map(int, input().split()))

ans = 0
for i in range(N):
    if sum([x * y for (x, y) in zip(A[i], B)]) + C > 0:
        ans += 1

print(ans)

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())))

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

print(ret)

Solution (Python):

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

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

count = 0
for _ in range(n):
    A = [ int(s) for s in input().split() ]
    
    f = 0
    for a,b in zip(A,B):

        f += a*b


    if f+c>0:
        count += 1

print(count)

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

ans = 0

for n in range(N):
	evalu = C
	A = list(map(int,input().split()))
	for m in range(M):
		evalu += A[m]*B[m]

	if 0 < evalu:
		ans += 1

print(ans)

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()))
  tmp=0
  for j in range(m):
    tmp+=A[j]*B[j]
  if tmp+c>0:
    ans+=1
print(ans)

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()))
    ret = 0
    for k in range(M):
        ret += A[k] * B[k]
    ret += C
    if ret > 0:
        ans += 1
print(ans)

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):
    summ = 0
    for j in range(M):
        
        summ += A[i][j] * B[j]
    
    if summ + 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(0, N):
    A = list(map(int, input().split()))

    sum_a = 0

    for j in range(0, M):

        sum_a += A[j] * B[j]

    sum_a += C

    if sum_a > 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()))
    sum = C
    for a, b in zip(A, B):
        sum += a * b
    if sum > 0:
        ans += 1

print(ans)

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()))
    
    l = 0
    for a, b in zip(A, B):
        l += a * b
    
    if l + C > 0:
        ans += 1

print(ans)

Solution (Python):
import math, string, itertools, fractions, heapq, collections, re,  array, bisect, sys, random, time, copy, functools


sys.setrecursionlimit(10**7)
inf = 10 ** 20
eps = 1.0 / 10**10
mod = 10**9+7
dd = [(-1, 0), (0, 1), (1, 0), (0, -1)]
ddn = [(-1, 0), (-1, 1), (0, 1), (1, 1), (1, 0), (1, -1), (0, -1), (-1, -1)]


def LI(): return [int(x) for x in sys.stdin.readline().split()]
def LI_(): return [int(x)-1 for x in sys.stdin.readline().split()]
def LF(): return [float(x) for x in sys.stdin.readline().split()]
def LS(): return sys.stdin.readline().split()
def I(): return int(sys.stdin.readline())
def F(): return float(sys.stdin.readline())
def S(): return input()
def pf(s): return print(s, flush=True)

N, M, C = LI()
B = LI()
A = []

for i in range(N):
    A.append(LI())




res = 0


for i in range(N):
    
    x = sum([A[i][j] * B[j] for j in range(M)]) + C
    if x > 0: res += 1

print(res)

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

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

ans = 0
for A in AA:
    allall = 0
    for i in range(M):
        allall += A[i] * B[i]
    if allall + C > 0:
        ans += 1
print(ans)

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

count = 0

for _ in range(N):
    Ai = map(int, input().split())

    sum = C
    for a, b in zip(Ai, Bi.copy()):
        sum += a*b

    if sum > 0:
        count += 1

print(str(count))

Solution (Python):
n, m, c = map(int, input().split())
b = list(map(int, input().split()))
anslist = []
figure = 0
ans = 0
for i in range(n):
    sourse = list(map(int, input().split()))
    anslist.append(sourse)
    sourse = []
for j in range(n):
    for k in range(m):
        figure += anslist[j][k]*b[k]
    if figure+c > 0:
        ans += 1
    else:
        pass
    figure = 0
print(ans)

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

cnt = 0
for As in Aslist:
    total = 0
    for A,B in zip(As,Bs):
        total += A * B
    if total + c > 0:
        cnt += 1
        
print(cnt)

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

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

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

B = list(map(int, input().split()))
A = []

ans = 0

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

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

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

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()))
    temp = c
    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 = list(map(int, input().split()))

ans = 0

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

print(ans)

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

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

c = 0
for a in A:
  res = 0
  for _a, _b in zip(a, B):
    res += _a * _b
  res += C
  if res > 0:
    c += 1
print c

Solution (Python):
N, M, C = [int(i) for i in 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 range(N):
    a = 0
    for j in range(M):
        a += A[i][j]*B[j]
    a += C
    if a > 0:
        ans += 1
print(ans)