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

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

Solution (Python):
import bisect,collections,copy,itertools,math,string
import sys
def I(): return int(sys.stdin.readline().rstrip())
def LI(): return list(map(int,sys.stdin.readline().rstrip().split()))
def S(): return sys.stdin.readline().rstrip()
def LS(): return list(sys.stdin.readline().rstrip().split())
def main():
    n,m,c = LI()
    b = LI()
    ans = 0
    for _ in range(n):
        a = LI()
        cul = 0
        for x, y in zip(a,b):
            cul += x*y
        cul += c
        ans += 1 if cul > 0 else 0
    
    print(ans)
main()

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

Solution (Python):
import sys


def input(): return sys.stdin.readline().strip()
def I(): return int(input())
def LI(): return list(map(int, input().split()))
def IR(n): return [I() for i in range(n)]
def LIR(n): return [LI() for i in range(n)]
def SR(n): return [S() for i in range(n)]
def S(): return input()
def LS(): return input().split()


INF = float('inf')


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

Solution (Python):
import numpy as np

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

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

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

Solution (Python):

N, M, C = map(int, input().split())
listB = list(map(int, input().split()))
cnt = 0

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

print (cnt)

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

Solution (Python):
from sys import stdin
nii=lambda:map(int,stdin.readline().split())
lnii=lambda:list(map(int,stdin.readline().split()))

n,m,c=nii()
b=lnii()

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

print(cnt)

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

ans=0
for i in range(n):
  a_list=list(map(int,input().split()))
  num=0
  for j in range(m):
    num+=b_list[j]*a_list[j]
  if num+c>0:
    ans+=1

print(ans)

Solution (Python):

import numpy as np
def inpl(): return list(map(int, input().split()))
N, M, C = inpl()
B = np.array(inpl(), dtype=np.int64)
ans = 0
for _ in range(N):
    A = np.array(inpl(), dtype=np.int64)
    ans += np.sum(A*B)+C > 0
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 = c
    for j in range(m):
        s += a[j] * b[j]
    if s > 0:
        ans += 1
print(ans)

Solution (Python):
import sys

def solve():
    input = sys.stdin.readline
    N, M, C = map(int, input().split())
    B = [int(b) for b in input().split()]
    count = 0
    for i in range(N):
        A = [int(a) for a in input().split()]
        point = C
        for i, a in enumerate(A):
            point += a * B[i]
        if point > 0: count += 1
    print(count)

    return 0

if __name__ == "__main__":
    solve()

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

Solution (Python):
N, M, C = map(int, input().split())
B = list(map(int, input().split()))
cnt = 0
for _ in range(N):
    S = C
    for i, a in enumerate(map(int, input().split())):
        S += a*B[i]
    if S>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()))
  result=0
  for j in range(m):
    result += A[j]*B[j]
  result += c
  if result > 0:
    count+=1
print(count)

Solution (Python):
import sys
def input(): return sys.stdin.readline().strip()
def mapint(): return map(int, input().split())
sys.setrecursionlimit(10**9)

N, M, C = mapint()
Bs = list(mapint())
ans = 0
for _ in range(N):
    p = [a*b for a, b in zip(mapint(), Bs)]
    if sum(p)+C>0:
        ans += 1
print(ans)

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 a in A:
    if sum([x*y for x,y 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()))
a = []
for _ in range(n):
    a.append(list(map(int,input().split())))
ans = 0
for aa in a:
    tmp = 0
    for bbb,aaa in zip(b,aa):
        tmp += bbb*aaa
    tmp += c
    if tmp > 0:
        ans += 1
print(ans)

Solution (Python):
import sys

N, M, C = map(int, sys.stdin.readline().split())
B = list(map(int, sys.stdin.readline().split()))

ans = 0
for _ in range(N):
    A = list(map(int, sys.stdin.readline().split()))
    tmp = 0
    for a, b in zip(A, B):
        tmp += a*b
    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 _ in range(N):
    A = list(map(int, input().split()))
    hantei=0
    for j in range(M):
        hantei+=A[j]*B[j]
    if hantei+C>0:
        ans+=1
print(ans)

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

count = 0
for _ in range(N):
    A = list([int(x) for x in input().split()])

    solve = 0
    for i in range(M):
        solve += A[i] * B[i]
    solve += C

    if solve > 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)]
ans = 0
for a in A:
    if sum([x*y for (x,y) in zip(a,b)])+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())))
arr = np.array([list(map(int, input().split())) for _ in range(n)])

result = (arr * b).sum(axis=1) + c
print(np.where(result > 0)[0].shape[0])

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

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

ans = 0

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

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

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

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

ans = 0
for _ in range(n):
    al = list(map(int, input().split()))
    v = 0
    for a,b in zip(al,bl):
        v += a*b
    v+=c
    if v > 0: ans += 1

print(ans)

Solution (Python):
import sys
input = sys.stdin.readline
sys.setrecursionlimit(10 ** 7)

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

print(ans)

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

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

Solution (Python):
import sys

read = sys.stdin.read
readline = sys.stdin.readline
readlines = sys.stdin.readlines
sys.setrecursionlimit(10 ** 9)
INF = 1 << 60
MOD = 1000000007


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

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

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

print(cnt)

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

Solution (Python):
n,m,c = map(int, input().split())
brr = list(map(int, input().split()))
ans = 0
for i in range(n):
    s = 0
    arr = list(map(int, input().split()))
    for x,y in zip(arr, brr):
        s += x*y
    s += c
    if s > 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()))
    tmp = 0
    for j in range(m):
        tmp += a[j]*b[j]
    tmp += c
    if tmp > 0:
        cnt += 1
print(cnt)

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

Solution (Python):
n, m, c = map(int, input().split())
b_lists = list(map(int, input().split()))
a_lists = []
for _ in range(n):
    tmp = list(map(int, input().split()))
    a_lists.append(tmp)

ans = 0
for i in a_lists:
    cond = c
    for j in range(m):
        cond += i[j]*b_lists[j]
    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()))
    sum = C
    for j in range(M):
        sum += A[j]*B[j]
    if sum>0:
        ans += 1

print(ans)

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

  counter = 0
  for _ in range(N):
    A = [int(x) for x in input().split(" ")]
    sum_of_a_x_b = 0
    for a, b in zip(A,B):
      sum_of_a_x_b += a * b
    if sum_of_a_x_b + C > 0:
      counter += 1
  print(counter)

if __name__ == "__main__":
  resolve()

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

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

Solution (Python):
import math
a,b,c = map(int,input().split())
d = list(map(int,input().split()))
ans = 0
for i in range(a):
    sum = c
    e = list(map(int,input().split()))
    for j in range(b):
        sum += e[j]*d[j]
    if sum>0:
        ans+=1

print(ans)

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

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

print(ans)

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

s = 0

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

print(s)

Solution (Python):
import math
a,b,c= map(int,input().split())
d = list(map(int,input().split()))
answer = 0
e = [list(map(int,input().split()))for i in range(a)]
for i in range(a):
    g = 0
    for j in range(b):
        g += e[i][j]*d[j]
    g += c
    if g>0:
        answer += 1
print(answer)

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

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

for i in range(n):
    tup_data = [int(x) for x in input().split()]
    
    
    for j in range(m):
        source += bm[j]*tup_data[j]
    
    if source+c > 0:
        count += 1
    
    tup_data = []
    source = 0

print(count)

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

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

Solution (Python):
import numpy as np
n,m,c = map(int, input().split())
b = np.array(list(map(int, input().split())))
cnt = 0
for _ in range(n):
    a = np.array(list(map(int, input().split())))
    if np.sum(b*a) + 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 a in A:
    allsum = C
    for x, y in zip(a, B):
        allsum += x*y
    if allsum > 0:
        ans += 1

print(ans)

Solution (Python):
import numpy as np
N,M,C=map(int,input().split())
B=np.array([int(i) for i in input().split()])
A=np.array([[int(i) for i in input().split()] for j in range(N)])

ans=np.count_nonzero(np.dot(A,B)>-C)
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 range(n):
    score = c
    for j in range(m):
        score += a[i][j]*b[j]
    if (score > 0):
        ans += 1
print(ans)

Solution (Python):
def main():
    n, m, c = map(int, input().split())
    b_lst = list(map(int, input().split()))
    a_lst = [0] * n
    for i in range(n):
        a_lst[i] = list(map(int, input().split()))

    count = 0
    for i in range(n):
        ab = 0
        for j in range(m):
            ab += a_lst[i][j] * b_lst[j]
        abc = ab + c

        if abc > 0:
            count += 1

    print(count)


if __name__ == '__main__':
    main()

Solution (Python):
import sys
lines = [s.rstrip("\n") for s in sys.stdin.readlines()]
n, m, c = [int(num) for num in lines.pop(0).split(" ")]
b_list = [int(num) for num in lines.pop(0).split(" ")]
def iter_a_list():
    for line in lines:
        yield [int(num) for num in line.split(" ")]

ans = 0
for a_list in iter_a_list():
    value = sum(a * b for a, b in zip(a_list, b_list))
    if value + c > 0:
        ans += 1
print(ans)

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

res = 0
for i in range(n):
    sum = c
    for j in range(m):
        sum += a[i][j] * b[j]
    if sum > 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()))
    sum = C

    for j in range(M):
        sum += A[j] * B[j]

    if sum > 0:
        ans += 1

print(ans)

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

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

As = [list(map(int, input().split())) for _ in range(N)]

ans = 0

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

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

print(cnt)

Solution (Python):
import sys
def MI(): return map(int,sys.stdin.readline().rstrip().split())
def LI(): return list(map(int,sys.stdin.readline().rstrip().split()))  

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

Solution (Python):
import sys
def MI(): return map(int,sys.stdin.readline().rstrip().split())
def LI(): return list(map(int,sys.stdin.readline().rstrip().split()))  

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

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

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

for _ in range(n):
  la = list( map(int, input().split()) )
  s = c
  for i in range(m):
    s += la[i] * lb[i]
  if s > 0:
    t += 1

print(t)

Solution (Python):
import bisect, collections, copy, heapq, itertools, math, string, sys
input = lambda: sys.stdin.readline().rstrip() 
sys.setrecursionlimit(10**7)
INF = float('inf')
def I(): return int(input())
def F(): return float(input())
def SS(): return input()
def LI(): return [int(x) for x in input().split()]
def LI_(): return [int(x)-1 for x in input().split()]
def LF(): return [float(x) for x in input().split()]
def LSS(): return input().split()

def resolve():
    N, M, C = LI()
    B = LI()
    A = [LI() for _ in range(N)]

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

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 i 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):

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

print(cnt)

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

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

Solution (Python):
import math


def resolve():
    import sys
    input = sys.stdin.readline
    row1 = [int(x) for x in input().rstrip().split(" ")]
    n = row1[0]
    c = row1[2]

    ans = 0
    b_list = [int(x) for x in input().rstrip().split(" ")]
    for _ in range(n):
        a_list = [int(x) for x in input().rstrip().split(" ")]

        if sum([a*b for a, b in zip(a_list, b_list)]) + c > 0:
            ans += 1

    print(ans)





if __name__ == "__main__":
    resolve()

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

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

Solution (Python):
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)]

cnt = 0
for A_list in A_lists:
    tmp = [a * b for a, b in zip(A_list, B_list)]
    tmp = sum(tmp) + C
    if tmp > 0:
        cnt += 1
print(cnt)

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

cnt = 0

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

print(cnt)

Solution (Python):


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

'''
A = []
for o in range(N):
    a = input().split()
    A.append(a)
print(A)

A_list = []
for p in range(N):
    box = []
    for q in range(M):
        aa = int(A[p][q])
        box.append(aa)
    A_list.append(box)
print(A_list)
'''
A_list = []
for o in range(N):
    A = list(map(int, input().split()))
    A_list.append(A)
    
count = 0
for i in  range(N):
    judge = C
    for j in range(M):
        judge += A_list[i][j]*B[j]
    if judge > 0:
        count += 1
print(count)

Solution (Python):
N, M ,C = map(int, input().split())
B = list(map(int, input().split()))
n = 0
for i in range(N):
    a = list(map(int, input().split()))
    AB = [x * y for (x, y) in zip(a,B)]

    if sum(AB) > -C:
        n += 1

print(n)

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

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

print(answer)

Solution (Python):
import sys


inint = lambda: int(sys.stdin.readline())
inintm = lambda: map(int, sys.stdin.readline().split())
inintl = lambda: list(inintm())
instrm = lambda: map(str, sys.stdin.readline().split())
instrl = lambda: list(instrm())

n, m, c = inintm()
B = inintl()
ans = 0

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

print(ans)

Solution (Python):
import sys
import numpy as np

stdin = sys.stdin
def ns(): return stdin.readline().rstrip()
def ni(): return int(stdin.readline().rstrip())
def nm(): return map(int, stdin.readline().split())
def nl(): return list(map(int, stdin.readline().split()))


def main():
    n, m, c = nm()
    B = np.array(nl())
    ans = 0
    for i in range(n):
        A = np.array(nl())
        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()))
    cnt = 0
    for j in range(m):
        cnt += a[j]*b[j]
        
    if cnt + c > 0:
        ans +=1
        
print(ans)

Solution (Python):
import numpy as np

n, m, c = map(int, input().split())
b = np.array([int(i) for i in input().split()])
a = np.array([[int(i) for i in input().split()] for _ in range(n)])

res = 0
for aa in a:
    if np.sum(aa*b)+c > 0:
        res += 1
print(res)

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

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

Solution (Python):
def main():
    n, m, c = [int(i) for i in input().split()]
    B = [int(i) for i in input().split()]
    sourcecode = [[int(i) for i in input().split()] for _ in range(n)]
    ans = 0
    for A in sourcecode:
        _sum = 0
        for i in range(m):
            _sum += A[i] * B[i]
        if _sum > -c:
            ans += 1

    print(ans)


if __name__ == "__main__":
    main()

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

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

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

print(res)

Solution (Python):
import numpy as np

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

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

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