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):
import numpy as np
n, m, c = map(int, input().split())
li = list(map(int, input().split()))
s_li = [list(map(int, input().split())) for i in range(n)]
array1 = np.array(li)
array2 = np.array(s_li)
ans = 0
for j in range(n):
    if sum(array1 * array2[j]) + c > 0:
        ans += 1

print(ans)

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

def f(x,y):
  return sum(i*j for i,j in zip(x,y))

count = 0
for i in range(N):
  ary1 = list(map(int,input().split()))
  if f(ary1,b) +C >0:
    count +=1

print(count)

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

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]
    tmp += c
    if tmp > 0: ans += 1
print(ans)

Solution (Python):
import numpy as np
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 = C
  for j in range(M):
    tmp += A[j]*B[j]
  if tmp>0:
    ans += 1
print(ans)

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

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

print(count)

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

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

print(count)

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

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()))
    if sum([a * b for a, b in zip(a, 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 _ in range(n)]

ans = 0
total = 0
r_cnt = 0
while n > 0:
    for i in range(m):
        total += b[i]*a[r_cnt][i]
    if total + c > 0:
        ans += 1
    total = 0
    r_cnt += 1
    n -= 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 i in range(N)]
a = 0
sum = 0
for i in range(N):
    for j in range(M):
        sum += A[i][j] * B[j]
    if sum + C > 0:
        a += 1
        sum = 0
    else :
        sum = 0
print(a)

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

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

res = 0
for _ in range(n):
    al = list(map(int, input().split()))
    s = c + sum([al[i]*bl[i] for i in range(m)])
    if s>0:
        res += 1
print(res)

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)]
ans = 0
for i in a:
    cnt = c
    for j in range(m):
        cnt += i[j] * b[j]
    if cnt > 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,list(input().split()))) for i in range(N)])
 
ans = 0
for i in range(N):
    val = np.sum(A[i, :] * B) + 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 i in range(n):
    a = list(map(int, input().split()))
    s = sum(map(lambda x, y: x * y, a, b)) + c
    if s > 0:
        ans += 1

print(ans)

Solution (Python):
import numpy as np
import sys

n, m, c = map(int, input().split())
b = np.array([int(x) for x in input().split()])
ans = 0
for _ in range(n):
	a = np.array([int(x) for x in input().split()])
	a *= b
	if np.sum(a) + 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 i in range(N)]

count = 0
for x in range(N):
    A_check = A[x]
    sumNum = 0
    for y in range(M):
        sumNum += A_check[y] * B[y]
    sumNum += C
    if sumNum > 0:
        count += 1
print(count)

Solution (Python):
from operator import mul


def myAnswer(B:list,A:list,C:int) -> int:
   counter=0
   for a in A:
      if( sum(map(mul,B,a)) + C > 0): counter += 1
   return counter


def modelAnswer(B:list,A:list,C:int,N:int,M:int) -> int:
   ans = 0
   for i in range(N):
      total = 0
      for j in range(M):
         total += A[i][j] * B[j]
      if(total + C > 0): ans += 1
   return ans


def main():
   N,M,C = map(int,input().split())
   B = list(map(int,input().split()))
   A=[]
   for _ in range(N):
      A.append(list(map(int,input().split())))

   ans = myAnswer(B[:],A[:],C)
   ans2 = modelAnswer(B[:],A[:],C,N,M)
   print(ans2)


if __name__ == '__main__':
   main()

Solution (Python):
'''
difficult   　: 
ペナルティ　  　:分
実際の回答時間  :分
WAの回数　     :回
合計時間　　  　:分
'''
from operator import mul
def myAnswer(B:list,A:list,C:int) -> int:
   counter=0
   for a in A:
      if( sum(map(mul,B,a)) + C > 0):
         counter += 1
   return counter




def modelAnswer():
   tmp=1
def main():
   N,M,C = map(int,input().split())
   B = list(map(int,input().split()))
   A=[]
   for _ in range(N):
      A.append(list(map(int,input().split())))
      
   ans = myAnswer(B[:],A[:],C)
   print((ans))


if __name__ == '__main__':
   main()

Solution (Python):
N,M,C = map(int,input().split())
B = input().split()
B = [int(x) for x in B]
Ans = 0
for _ in range(N):
  A = input().split()
  s = C
  for j in range(M):
    s += int(A[j])*B[j]
  if s > 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(input().split())
count = 0
for i in range(N):
    r = C
    for j in range(M):
        r += int(A[i][j]) * B[j]
    if r > 0:
        count += 1
print(count)

Solution (Python):
import math
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 j in range(N):
    judge=C
    for i in range(M):
        judge+=A[j][i]*B[i]
    if judge>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 = []
for _ in range(n):
    A.append(list(map(int,input().split())))

             
a = np.array(A)
ans = 0
for i in range(n):
    k = c + sum(B *a[i])
    if k >0:
        ans+= 1
print(ans)

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

ans=0
for i in range(N):
    ans+=1*(sum(a*b for a,b in zip(map(int,input().split()),B))+C>0)

print(ans)

Solution (Python):
import sys
import numpy as np

sys.setrecursionlimit(10 ** 6)
int1 = lambda x: int(x) - 1
printV = lambda x: print(*x, sep="\n")
printH = lambda x: print(" ".join(map(str,x)))
def IS(): return sys.stdin.readline()[:-1]
def II(): return int(sys.stdin.readline())
def MI(): return map(int, sys.stdin.readline().split())
def LI(): return list(map(int, sys.stdin.readline().split()))
def LI1(): return list(map(int1, sys.stdin.readline().split()))
def LII(rows_number): return [II() for _ in range(rows_number)]
def LLI(rows_number): return [LI() for _ in range(rows_number)]
def LLI1(rows_number): return [LI1() for _ in range(rows_number)]

def main():
	n,m,c = MI()
	b = np.array(LI())
	ans = 0
	for _ in range(n):
		a = np.array(LI())
		if np.sum(a*b)+c > 0:
			ans+=1
	print(ans)


if __name__ == '__main__':
	main()

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

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

print(ans)

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

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

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

print(count)

Solution (Python):
n,m,c=map(int,input().split())
b=[0]*m
a=[0]*n
ans=0
b=list(map(int,input().split()))
for i in range(n):
  a[i]=[0]*m
  a[i]=list(map(int,input().split()))
  size=0
  for j in range(m):
    size+=b[j]*a[i][j]
  size+=c
  if (size>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()]
ans=0
for i in range(n):
    a=[int(i) for i in input().split()]
    total=c
    for j in range(m):
        total+=a[j]*b[j]
    if total>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 i in range(n)]
e=0
for i in range(n):
    d=0
    for j in range(m):
        d+=a[i][j]*b[j]
    if d+c>0:
        e+=1
print(e)

Solution (Python):
n,m,c=list(map(int,input().split()))
b=list(map(int,input().split()))
ans=0
for i in range(n):
  tmp=0
  a=list(map(int,input().split()))
  for j in range(m):
    tmp+=b[j]*a[j]
  if tmp>-c:
    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 a in A:
  check = c
  for i,j in zip(a,b):
    check += i*j
  ans += (check > 0)
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):
  if np.dot(np.array(list(map(int,input().split()))),b)+c > 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(N):
    A.append(list(map(int,input().split())))
S = []
count = 0
for i in range(N):
    for j in range(M):
        S.append(A[i][j]*B[j])
    if sum(S) > -1 * C:
        count += 1
    S = []
print(count)

Solution (Python):








import numpy as np




n,m,c = map(int,input().split())
B = np.array(input().split(),dtype=np.int64)
times = n
table = []
for _ in range(times):
    table.append(list(map(int,input().split()))) 
A = np.array(table)

lis = np.dot(A,B) +c
anslis = np.bincount(lis > 0,minlength=2)
ans = anslis[1]

print(ans)

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

print(ans)

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

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

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

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

a = []
ans = 0

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

print(ans)

Solution (Python):
a,b,c= input().split()
x,y,z=(int(a),int(b),int(c))
B_list  = input().split()
count = 0
for j in range(x):
    A_list = input().split()
    sum_ans = 0
    for i in range(y):
        
        sum_ans +=  int(A_list[i]) * int(B_list[i])
    if sum_ans > -1 * z:
        count += 1
print(count)

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

ans = 0

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

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

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

Solution (Python):
import sys
input = lambda: sys.stdin.readline().rstrip()

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]

    tmp += C

    if tmp > 0:
        ans += 1

print(ans)

Solution (Python):
import sys
input = lambda: sys.stdin.readline().rstrip()
input_nums = lambda: list(map(int, input().split()))
import numpy as np
def main():
    N, M, C = input_nums()
    B = np.array(input_nums())
    cnt = 0
    for i in range(N):
        A = np.array(input_nums())
        if np.sum(A*B) + C > 0:
            cnt += 1
    print(cnt)


if __name__ == '__main__':
    main()

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

def dot(a, b, c):
  res = c
  for i in range(len(a)):
    res += a[i]*b[i]
  return res

counter = 0
for i in range(n):
  if dot(lista[i], listb, c) > 0:
    counter += 1
print(counter)

Solution (Python):
N,M,C = map(int,input().split())
B = [el for el in map(int,input().split())]
A = [[] for _ in range(N)]
for i in range(N):
    new = [el for el in map(int,input().split())]
    A[i] = new
ans = 0
for i in range(N):
    cand = 0
    for j in range(M):
        cand += A[i][j]*B[j]
    if cand + 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()))
  x = 0
  for j in range(m):
    x += b[j]*a[j]
  if x + c > 0:
    ans += 1

print(ans)

Solution (Python):


import sys
import math
from bisect import bisect_right as br
from bisect import bisect_left as bl
sys.setrecursionlimit(2147483647)
from heapq import heappush, heappop,heappushpop
from collections import defaultdict
from itertools import accumulate
from collections import Counter
from collections import deque
from operator import itemgetter
from itertools import permutations
mod = 10**9 + 7
inf = float('inf')
def I(): return int(sys.stdin.readline())
def LI(): return list(map(int,sys.stdin.readline().split()))

n,m,c = LI()
b = LI()
ans = 0
for i in range(n):
    a = LI()
    tmp = c
    for j in range(m):
        tmp += a[j]*b[j]
    if tmp > 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())))
ans = 0
for i in range(N):
  sum = C
  for j in range(M):
    sum += A[i][j] * B[j]
  if sum > 0: ans += 1
print(ans)

Solution (Python):

from collections import Counter
def inputlist(): return [int(j) for j in input().split()]

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

Solution (Python):










"""def kiri(n,m):
  r_ = n / m
  if (r_ - (n // m)) > 0:
    return (n//m) + 1
  else:
    return (n//m)"""
 
def main():
  n,m,c = map(int,input().split())
  B = list(map(int,input().split()))
  cnt =0
  for i in range(n):
    ans = 0
    A = list(map(int,input().split()))
    for j in range(m):
      ans += B[j] * A[j]
    
    ans += c
    
    if ans > 0:
      cnt += 1
  print(cnt)
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)]
a = 0
for i in range(N):
    b = 0
    for j in range(M):
        b = b + B[j]*A[i][j]
    if b > -C:
        a = a+1


print(a)

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

Solution (Python):
import sys
import copy
import math
import bisect
import pprint
import bisect
from functools import reduce
from copy import deepcopy
from collections import deque
from decimal import *


def lcm(x, y):
    return (x * y) // math.gcd(x, y)


if __name__ == '__main__':
    n,m,c = map(int, input().split())
    b = [int(i) for i in input().split()]

    count = 0
    for i in range(n):
        num=0
        a = [int(i) for i in input().split()]

        for i in range(m):
            num +=a[i] *b[i]
        if num >c*(-1):
            count+=1
    print(count)

Solution (Python):
import numpy as np
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())))
B = np.array(B)
A = np.array(A)
D = np.sum(A*B, axis = 1)+c
ans = 0
for i in range(n):
  if D[i] > 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 i in range(n)]
count=0
for i in range(n):
    ans=0
    for j in range(m):
        ans+=a[i][j]*b[j]
    ans+=c
    if ans > 0:
        count+=1
print(count)

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

Solution (Python):
def ii():return int(input())
def iim():return map(int,input().split())
def iil():return list(map(int,input().split()))
def ism():return map(str,input().split())
def isl():return list(map(str,input().split()))

n,m,c = iim()
B = iil()
ans = 0
for i in range(n):
    A = iil()
    cond = c
    for x,y in zip(A,B):
        cond += x*y
    if cond > 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()))
  d=0
  for j,k in zip(A,B):
    d+=j*k
  if d>-C:
    ans+=1
print(ans)

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

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

b = 0
 
for i in range(N):
    a = 0
    for ii in range(M):
        a += S[i][ii] * B[ii]
    a += C
    if a > 0:
        b += 1
print(str(b))

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

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

b = 0
 
for i in range(N):
    a = 0
    for ii in range(M):
        a += S[i][ii] * B[ii]
    a += C
    if a > 0:
        b += 1
print(str(b))

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)]
total = 0
ans = 0

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

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

cnt = 0
for a in A:
    res = 0
    for i in zip(a,B):
        res += i[0] * i[1]
    res += C
    if(res > 0):
        cnt += 1
print(cnt)

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

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

ans = 0
for _ in range(n):
    a = map(int, input().split())
    if sum(i*j for i, j in zip(a, b)) + c > 0:
        ans += 1
print(ans)

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

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

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


count=0
for code in A:
    if sum([code[j]*B[j] for j in range(M)]) > -C:
        count+=1
print(count)

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

Solution (Python):
def dot(vec1,vec2):
  res = 0
  for i in range(len(vec1)): res += vec1[i]*vec2[i]
  return res

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()))
  if dot(A,B) + C > 0: count += 1
print(count)

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

def check(a,b,c,m):
    value = c
    for j in range(m):
        value += a[j]*b[j]
    if value>0:
        return True
    else:
        return False

for i in range(n):
    if check(a[i],b,c,m):
        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())))
ans = 0
num = 0    
for i in range(N):
    for j in range(M):
        num += A[i][j]*B[j]
    if num +C >0:
        ans += 1
    num = 0    
print(ans)

Solution (Python):
n,_,c=map(int,input().split());b=list(map(int,input().split()));print(sum(sum(i*j for i,j in zip(map(int,input().split()),b))+c>0 for _ in range(n)))

Solution (Python):
n,m,c=map(int,input().split());b=list(map(int,input().split()));print(sum(sum(i*j for i,j in zip(map(int,input().split()),b))+c>0 for _ in range(n)))

Solution (Python):
n,m,c=map(int,input().split())
b=[i for i in map(int,input().split())]
r=0
for i in range(n):
  t=0
  for i,j in zip(map(int,input().split()),b):
    t+=i*j
  r+=t+c>0
print(r)

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

for i in range(n):
    a = list(map(int,input().split()))
    tmp = c
    for i,j in zip(a,b):
        tmp += i * j
    if tmp > 0:
        res += 1

print(res)

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]
    ans += 1 if tmp > -c else 0

print(ans)

Solution (Python):
import sys
from bisect import *
from heapq import *
from collections import *
from itertools import *
from functools import *
from math import *
from fractions import *

sys.setrecursionlimit(100000000)
input = lambda: sys.stdin.readline().rstrip()

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

for i in range(N):
    tmp.append(np.dot(B, A[i]))

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

Solution (Python):
INT = lambda: int(input())
INTM = lambda: map(int,input().split())
STRM = lambda: map(str,input().split())
STR = lambda: str(input())
LIST = lambda: list(map(int,input().split()))
LISTS = lambda: list(map(str,input().split()))
def do():
    n,m,c=INTM()
    b=LIST()
    ct=0
    for i in range(n):
        a=LIST()
        temp=0
        for k in range(m):
            temp+=b[k]*a[k]
        if temp+c>0:
            ct+=1
    print(ct)
if __name__ == '__main__':
    do()

Solution (Python):
import numpy as np

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

print(ans)

Solution (Python):
def main():
    from builtins import int, map, list, print
    import sys

    input = sys.stdin.readline
    input_list = (lambda: input().rstrip().split())
    input_number = (lambda: map(int,input().rstrip().split()))
    input_number_list = (lambda: list(map(int, input_list())))

    N, M, C = input_number()
    B = input_number_list()
    A = [None] * N
    for i in range(N):
        A[i] = input_number_list()
    ans = 0
    for i in range(N):
        t = C
        for j in range(M):
            t += A[i][j] * B[j]
        ans += t > 0 and 1 or 0
    print(ans)


def resolve():
    main()


if __name__ == '__main__':
    resolve()

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)]
d = [sum(j*k for j, k in zip(i, b)) for i in a]
print(sum(1 for i in d if i + c > 0))

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

ret = 0
for _ in range(N):
    A = list(map(int, input().split(' ')))
    n = sum([a*b for a, b in zip(A, B)]) + C
    if n > 0:
        ret += 1

print(ret)