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 = list(map(int,input().split()))
count = 0
for i in range(n):
  a = list(map(int,input().split()))
  product = 0
  for j in range(m):
    product += a[j]*b[j]
  if product + 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):
    res = c
    for j in range(m):
        res += a[i][j]*b[j]
    if res > 0:
        count += 1
print(count)

Solution (Python):
n, m, c  = map(int, input().split())
b = list(map(int, input().split()))
s = 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 t+c > 0:
        s += 1
print(s)

Solution (Python):
ii = lambda:int(input())
mi = lambda:list(map(int,input().split()))
ix = lambda x:list(input() for _ in range(x))
mix = lambda x:list(mi() for _ in range(x))
iix = lambda x:list(int(input()) for _ in range(x))

def main(n,m,c,a,b):
    res = 0
    for ai in a:
        if check(ai,b,c) : res += 1
    return res
    
def check(ai,b,c):
    temp = 0
    for i in range(m):
        temp += ai[i] * b[i]
    temp += c
    return temp > 0

n,m,c = mi()
b = mi()
a = mix(n)
print(main(n,m,c,a,b))

Solution (Python):
n, m, c  = map(int, input().split())
b = list(map(int, input().split()))
s = 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 t+c > 0:
        s += 1
print(s)

Solution (Python):
import numpy as np

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

b_arr = np.asarray(list(b), int)
a_arr = np.asarray(list(a), int)
counter = 0

for i in range(N):
    if np.sum(b_arr * a_arr[i]) > -C:
        counter += 1

print(counter)

Solution (Python):

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

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

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

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

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

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

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

print(cnt)

Solution (Python):
N, M, C = map(int, input().split())
B = list(map(int, input().split()))
A = []
cnt = 0


for i in range(N):
  A.append(list(map(int, input().split())))
  
for a in range (N):
  tl = 0
  for b in range (M):
    tl += A[a][b]*B[b]
  if tl+C > 0:
    cnt += 1
print(cnt)

Solution (Python):


import numpy as np
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()))
a = np.array(a)
b = np.array(b)
print(sum(np.dot(a, b) +c > 0))

Solution (Python):
import numpy as np

n, m, c = map(int, input().split())
B = np.array(list(map(int, input().split())))
A = np.array([np.array(list(map(int, input().split()))) for _ in range(n)])

ans = 0
for i in range(n):
  if np.dot(A[i], B) + c > 0:
    ans += 1
    
print(ans)

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

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

ans = 0

for i in range(N):
        test = C

        for j in range(M):
            test +=int(A[i][j]*B[j])

        if test > 0:
            ans += 1

print(ans)

Solution (Python):



def check_score(N, C, B, A):
    correct = 0
    for A_i in A:
        score = sum([a*b for a, b in zip(A_i, B)]) + C
        if score > 0: correct += 1
    return correct

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())))
    print(check_score(N, C, B, A))

if __name__ == "__main__":
    try:
        assert check_score(2, -10, [1, 2, 3], [[3, 2, 1], [1, 2, 2]]) == 1
        assert check_score(5, -4, [-2, 5], [[100, 41], [100, 40], [-3, 0], [-6, -2], [18, -13]]) == 2
        assert check_score(3, 0, [100, -100, 0], [[0, 100, 100], [100, 100, 100], [-100, 100 ,100]]) == 0
    except:
        import traceback
        traceback.print_exc()
        exit()
    main()

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

print(
    len(
        [
            i
            for i in range(N)
            if sum([A[i][k]*B[k] for k in range(M)]+[C])>0
        ]
    )
)

Solution (Python):
n,m,c = map(int,input().split())
b_list = list(map(int,input().split()))
a_list = [list(map(int,input().split())) for nesya in range(n)]
ans = 0
for hoge in a_list:
  t = 0
  d = 0
  while t < m:
    d += b_list[t]*hoge[t]
    t += 1
  if d+c > 0:
    ans += 1
print(ans)

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

Solution (Python):
N,M,C = map(int,input().split())
Bs = list(map(int,input().split()))
As = []
ans = 0
for i in range(N):
    a = list(map(int,input().split()))
    As.append(a)
for i in range(N):
    sikinoatai = 0
    for j in range(M):
        sikinoatai +=  As[i][j] * Bs[j]
    sikinoatai += C
    if sikinoatai > 0:
        ans += 1
print(ans)

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

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

Solution (Python):
import numpy as np

N, M, C = list(map(int, input().split()))
B = list(map(int, input().split()))
A = np.zeros((N,M), dtype=int)
for n in range(N):
    A[n,:] = list(map(int, input().split()))

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

print(cnt)

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

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

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

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

ans = 0
for aa in a:
    tmp = c
    for i, j in zip(aa, b):
        tmp += i*j
    if tmp>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()))
    val=c
    for j in range(m):
        val+=A[j]*B[j]
    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()))
    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(lambda x:int(x),input().split())
b = list(map(lambda x:int(x),input().split()))
corrects = 0
for i in range(n):
  an = list(map(lambda x:int(x),input().split()))
  sum = c
  for j in range(m):
    sum += (an[j]*b[j])
  if sum>0:
    corrects += 1
print(corrects)

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

    if ev + C > 0:
        count += 1

print(count)

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

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

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

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

Solution (Python):
N, M, C = [int(i) for i in input().split()]
b_list = [int(b) for b in input().split()]
a_lists = [[a for a in input().split()] for N in range(N)]

seikai = 0

for a_list in a_lists:
    m = 0
    siki = 0
    for a in a_list:
        siki += int(a) * b_list[m]
        m += 1
    if siki + C > 0:
        seikai += 1

print(seikai)

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

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

count = 0

for i in range(N):
  left = 0
  for j, a in enumerate(map(int, input().split())):
    left += a * B[j]
  if left + 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()))
    p=C
    for j in range(M): p+=A[j]*B[j]
    if p>0:count+=1
print(count)

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

Solution (Python):
import sys
sys.setrecursionlimit(10**8)
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 li2(N): return [list(map(int, sys.stdin.readline().split())) for i in range(N)]
def dp2(ini, i, j): return [[ini]*i for i2 in range(j)]
def dp3(ini, i, j, k): return [[[ini]*i for i2 in range(j)] for i3 in range(k)]




N, M, C = mi()
B = li()

cnt = 0

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

Solution (Python):


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

ans = 0
for i in range(N):
    A = list(int(a) for a in input().split())
    s = C
    for j in range(M):
        s += A[j]*B[j]
    if s > 0:
        ans += 1
    else:
        continue

print(ans)

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

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

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

Solution (Python):
import sys
input = sys.stdin.readline
sys.setrecursionlimit(10**7)
from collections import Counter, deque

from itertools import combinations, permutations, accumulate, groupby, product
from bisect import bisect_left,bisect_right
from heapq import heapify, heappop, heappush


def I(): return int(input())
def MI(): return map(int, input().split())
def LI(): return list(map(int, input().split()))
def LI2(): return [int(input()) for i in range(n)]
def MXI(): return [[LI()]for i in range(n)]


n,m,c=MI()
B=LI()
ans=0
for i in range(n):
    A=LI()
    sm=c
    for j in range(m):
        sm+=A[j]*B[j]
    if sm>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 _ in range(N)])

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

Solution (Python):
def can_you_solve_this(n, m, c, bl, al):

    ans = 0

    for i in al:
        count = 0
        for w in range(len(bl)):
            count += bl[w]*i[w]
        if count+c > 0:
            ans += 1

    return ans

def main():
    n, m, c = map(int, input().split())
    bl = list(map(int, input().split()))
    al = [list(map(int, input().split()))for i in range(n)]
    print(can_you_solve_this(n, m, c, bl, al))

if __name__ == '__main__':
    main()

Solution (Python):
import sys
import math
from collections import Counter
import itertools



def II(): return int(sys.stdin.readline())
def MI(): return map(int, sys.stdin.readline().split())
def MI1(): return map(int1, sys.stdin.readline().split())

def LI(): return list(map(int, sys.stdin.readline().split()))

def LLI(rows_number): return [LI() for _ in range(rows_number)]
def SR(): return sys.stdin.readline().rstrip()

ascii_lowercase = 'abcdefghijklmnopqrstuvwxyz'
ascii_uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
ascii_uppercase2 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ'


p2D = lambda x: print(*x, sep="\n")
p2E = lambda x: print(''.join(x))
p2S = lambda x: print(*x, sep=" ")



n,m,c=MI()
b=LI()
A=LLI(n)

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

Solution (Python):
def i():
    return int(input())
def i2():
    return map(int,input().split())
def s():
    return str(input())
def l():
    return list(input())
def intl():
    return list(int(k) for k in input().split())

n,m,c=i2()
b=intl()
a = [intl() for _ in range(n)]
d=0
flag=0
for i in range(n):
	for j in range(m):
		d+=a[i][j]*b[j]
		
	if d>-c:
		flag+=1
	d=0
	
	
	
print(flag)

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

Solution (Python):
n, m, c = map(int, input().split())
B = list(map(int, input().split()))
A = []
cnt = 0
for i in range(n):
    tmp = list(map(int, input().split()))
    A.append(tmp)


for i in range(n):
    tmp = c
    for j in range(m):
        tmp += A[i][j]*B[j]
    
    if tmp > 0:
        cnt += 1

print(cnt)

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(' ')))
    cnt += sum([a*b for a,b in zip(A,B)]) + c > 0

print(cnt)

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

print(cnt)

Solution (Python):
import numpy as np


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

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

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

    if ans > 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)]
res=0
for n in range(N):
	ans=0
	for m in range(M):
		ans = ans+a[n][m]*B[m]
	if ans+C>0:
		res=res+1
print(res)

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

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

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

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

import numpy as np

def main():
    n,m,c = map(int, input().split())
    b_li = np.array(list(map(int, input().split())))

    ans = 0

    for i in range(n):
        a_li = np.array(list(map(int, input().split())))

        if np.dot(a_li, b_li)+c > 0:
            ans += 1

    print(ans)




if __name__ == '__main__':
    main()

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

ans = 0
for _ in range(n):
  a = [int(x) for x in input().split()]
  tsum = c
  for x,y in zip(a,b):
    tsum+=x*y
  if tsum > 0:ans+=1
    
print(ans)

Solution (Python):
N, M, C = map(int, input().split())
b = list(map(int, input().split()))
a = []
for x in range(N):
    a.append(list(map(int, input().split())))

sm = 0
ans = 0

for x in a:
    for y, z in zip(x, b):
        sm += y*z
    sm += C
    if sm > 0:
        ans += 1
    sm = 0

print(ans)

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()))
    sum = c
    for j in range(m):
        sum += a[j] * b[j]
    if sum > 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()))
  hyoka = 0
  for k in range(M):
    hyoka = hyoka + A[k]*B[k]
  if hyoka+C > 0:
    count = count + 1
print(count)

Solution (Python):
from sys import stdin
import numpy as np

lines = stdin.readlines()
n, m, c = [int(x) for x in lines[0].rstrip().split()]
b = [int(x) for x in lines[1].rstrip().split()]
a_s = np.zeros((n, m))
count = 0
for i in range(n):
    a_s[i] = [int(x) for x in lines[i+2].rstrip().split()]
    prod = sum(a_s[i] * b)
    if prod + c > 0:
        count += 1
print(count)

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

Solution (Python):
import sys
import math
def i():return int(sys.stdin.readline().replace("\n",""))
def i2():return map(int,sys.stdin.readline().replace("\n","").split())
def s():return str(sys.stdin.readline().replace("\n",""))
def l():return list(sys.stdin.readline().replace("\n",""))
def intl():return [int(k) for k in sys.stdin.readline().replace("\n","").split()]
def lx():return list(map(lambda x:int(x)*-1,sys.stdin.readline().replace("\n","").split()))
def t():return tuple(map(int,sys.stdin.readline().replace("\n","").split()))

if __name__ == "__main__":pass
n,m,c = i2()
b = intl()
cnt = 0
s = 0
for i in range(n):
    a = intl()
    for i in range(m):
        s += a[i]*b[i]
    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()))
now = 0
for i in range(N):
    A=list(map(int,input().split()))
    ans = C
    for j in range(M):
        ans += A[j]*B[j]
    if (ans)>0:
        now += 1
print(now)

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

Solution (Python):
row = input().split(' ')
n = int(row[0])
m = int(row[1])
c = int(row[2])
b_list = [int(b) for b in input().split(' ')]
a_mat = list()
for _ in range(n):
    a_mat.append([int(a) for a in input().split(' ')])
ans = 0
for i in range(n):
    v = c + sum([a * b for a, b in zip(a_mat[i], b_list)])
    if v > 0:
        ans += 1
print(ans)

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

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

print(count)

Solution (Python):
def main():
    import sys
    input = sys.stdin.readline
    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()))
        x = C
        for i in range(M):
            x += A[i]*B[i]
        if x > 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()))
  count = 0
  for j in range(m):
    count += b[j]*a[j]
  count += c
  if count > 0:
    ans += 1
print(ans)

Solution (Python):
def resolve():
    cnt = 0
    n, m, c = map(int, input().split())
    b_list = list(map(int, input().split()))
    for i in range(n):
        a_list = list(map(int, input().split()))
        siki = 0
        for x in range(m):
            siki += (a_list[x] * b_list[x])
        if siki+c > 0:
                cnt += 1
    print(cnt)
resolve()

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

for i in range(n):
    a = np.array(list(map(int, input().split())))
    if np.dot(a, b) + c > 0:
        count += 1
print(count)

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

for i in range(n):
    lsa = list(map(int, input().split()))
    lsab = [0 for x in range(m)]
    k = 0
    for j in range(m):
        lsab[j] = lsa[j] * lsb[j]
    k = sum(lsab) + c
    if k > 0:
            l += 1

print(l)

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

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

count = 0
for i in range(N):
    tmp_sum = C
    for j in range(len(a[i])):
        tmp_sum += a[i][j] * b[j]

    if tmp_sum > 0:
        count+= 1
    else:
        tmp_sum = 0

print(count)

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

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

Solution (Python):
def main():
    import sys
    input = sys.stdin.readline
    sys.setrecursionlimit(10**7)
    from collections import Counter, deque
    
    from itertools import combinations, permutations, accumulate, groupby, product
    from bisect import bisect_left,bisect_right
    from heapq import heapify, heappop, heappush
    from math import floor, ceil
    

    
    

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

if __name__ == '__main__':
    main()

Solution (Python):
import sys, re
from collections import deque, defaultdict, Counter
from math import ceil, sqrt, hypot, factorial, pi, sin, cos, radians
from itertools import accumulate, permutations, combinations, product, groupby
from operator import itemgetter, mul
from copy import deepcopy
from string import ascii_lowercase, ascii_uppercase, digits
from bisect import bisect, bisect_left
from fractions import gcd
from heapq import heappush, heappop
from functools import reduce
def input(): return sys.stdin.readline().strip()
def INT(): return int(input())
def MAP(): return map(int, input().split())
def LIST(): return list(map(int, input().split()))
def ZIP(n): return zip(*(MAP() for _ in range(n)))
sys.setrecursionlimit(10 ** 9)
INF = float('inf')
mod = 10 ** 9 + 7

N, M, C = MAP()
B = LIST()
A = [LIST() for _ in range(N)]

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):
s = list(map(int, input().split()))
N = s[0]
M = s[1]
C = s[2]
B = list(map(int, input().split()))
x = 0
for i in range(N):
  k = C
  A = list(map(int, input().split()))
  for j in range(M):
    k = k + A[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 = list(map(int, input().split()))
A = [ ]
for i in range(N):
  AA = list(map(int, input().split()))
  A.append(AA)
Bnp = np.array(B)
Anp = np.array(A)
C = np.dot(Anp, Bnp) + C
D = 0
for i in range(N):
  if C[i] > 0:
    D += 1
print(D)