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

Solution (Python):
import numpy as np

N, M, C = [int(x) for x in input().split()]
B = np.array([int(x) for x in input().split()])
A = np.empty((N,M))

count = 0
for n in range(N):
    A[n] = [int(m) for m in input().split()]
    count += (sum(A[n] * B)+C > 0)
print(count)

Solution (Python):
import numpy as np

N, M, C = [int(x) for x in input().split()]
B = np.array([int(x) for x in input().split()])
A = np.empty((N,M))

count = 0
for n in range(N):
    A[n] = [int(m) for m in input().split()]
    
    count += (sum(A[n] * B)+C > 0)
print(count)

Solution (Python):
import numpy as np

N, M, C = [int(x) for x in input().split()]
B = np.array([int(x) for x in input().split()])
A = np.empty((N,M))

count = 0
for n in range(N):
    A[n] = [int(m) for m in input().split()]
    count = count + 1 if sum(A[n] * B)+C > 0 else count 
print(count)

Solution (Python):
import numpy as np
from operator import mul
from functools import reduce

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

A = np.empty((N,M))

result = np.array([])
count = 0

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

Solution (Python):
import numpy as np
from operator import mul
from functools import reduce

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

A = np.empty((N,M))

result = np.array([])
count = 0

for n in range(N):
    A[n] = [int(m) for m in input().split()]
    result = A[n] * B
    
    if sum(result)+C > 0:
        count +=1
print(count)

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

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

count = 0

for i in range(N):
    multipl = 0
    A = list(input().split())
    for i in range(M):
        multipl = float(A[i]) * float(B[i]) + multipl
    if (multipl + C) > 0:
        count += 1
print(count)

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

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

count = 0

for ii in range(n):
    temp = [0] * m
    for jj in range(m):
        temp[jj] = A[ii][jj]*B[jj]
    if sum(temp) + c > 0:
        count += 1
print(count)

Solution (Python):
N, M, C = map(int, input().split(" "))
B_list = [int(i) for i in input().split(" ")]
ans = 0
for i in range(N):
    y = 0
    A_list = [int(k) for k in input().split(" ")]
    for j in range(M):
        y += A_list[j] * B_list[j]
    if y + C > 0:
        ans += 1
print(ans)

Solution (Python):
import numpy as np
n, m, c = map(int, input().split())
b = []
a = list(map(int, input().split()))
for _ in range(n):
    tmp = list(map(int, input().split()))
    b.append(tmp)

ary_a = np.array(a)
ary_b = np.array(b)

ans = np.dot(ary_b, ary_a)
cnt = 0
for i in range(len(ans)):
    if ans[i] + 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=[]
    total=0
    A=list(map(int, input().split()))
    for j in range(M):
        total=total+(A[j]*B[j])
    else:
        if total+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):
  s = 0
  a = list(map(int,input().split()))
  for k in range(m):
    s += a[k]*b[k]
  s += c
  if s > 0:
    count += 1
print(count)

Solution (Python):
import numpy as np

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

Solution (Python):
from collections import defaultdict, Counter
from itertools import product, groupby, count, permutations, combinations
from math import pi, sqrt
from collections import deque
from bisect import bisect, bisect_left, bisect_right
from string import ascii_lowercase
from functools import lru_cache
import sys
sys.setrecursionlimit(10000)
INF = float("inf")
YES, Yes, yes, NO, No, no = "YES", "Yes", "yes", "NO", "No", "no"
dy4, dx4 = [0, 1, 0, -1], [1, 0, -1, 0]
dy8, dx8 = [0, -1, 0, 1, 1, -1, -1, 1], [1, 0, -1, 0, 1, 1, -1, -1]


def inside(y, x, H, W):
    return 0 <= y < H and 0 <= x < W


def ceil(a, b):
    return (a + b - 1) // b



def gcd(a, b):
    if b == 0:
        return a
    return gcd(b, a % b)


def lcm(a, b):
    g = gcd(a, b)
    return a / g * b


def main():
    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()))

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

        ans += total > 0

    print(ans)


if __name__ == '__main__':
    main()

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, k in zip(A, B):
    sum += j*k
  if sum > 0:
    cnt += 1

print(cnt)

Solution (Python):
N, M, C = list(map(int, input().split()))
b = list(map(int, input().split()))
sum = 0
cnt = 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 :
        cnt += 1
    sum = 0
print(cnt)

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

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

cnt = 0
for i in range(N):
  A = An[i]
  
  lineTotal = 0
  for index in range(len(A)):
    lineTotal = lineTotal +  A[index] * B[index]
  
  if lineTotal + C > 0:
    cnt = cnt + 1

print(cnt)

Solution (Python):

lst_1 = (input().split())

N = int(lst_1[0])
M = int(lst_1[1])
C = int(lst_1[2])

lst_A = []
lst_B = []
total = 0
ans = 0

lst_B = (input().split())

for n in range(0, N):
    lst_A.append(input().split())


for n in range(0, N):

    for m in range(0, M):

        a = int(lst_A[n][m])
        b = int(lst_B[m])
        total += (a * b)

    if total + C > 0:
        ans += 1

    total = 0

print(ans)

Solution (Python):

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

Solution (Python):
import numpy as np
n,m,c = map(int, input().split())
b = np.array([int(i) for i in input().split()])
ans = 0
for ii in range(n):
    a = np.array([int(i) for i in 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()))
cnt=0
for i in range(n):
  a=list(map(int,input().split()))
  mysum=0
  for j in range(m):
    mysum+=a[j]*b[j]
  if mysum+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())))
A = [list(map(int , input().split())) for _ in range(N)]
ans = 0
for i in range(N):
	tem = np.array(A[i])
	if np.dot(tem,B)+C>0:
		ans +=1

print(ans)

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

print(collect)

Solution (Python):
n,m,c=map(int,input().split())
bb=list(map(int,input().split()))
x = 0
for _ in range(n):
    aa=map(int,input().split())
    s = sum(map(lambda a: a[0]*a[1], zip(aa, bb)))
    if s + c > 0:
        x += 1
print(x)

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

Solution (Python):
N, M, C = [int(e) for e in input().split(" ")]
Bs = [int(e) for e in input().split(" ")]
count = 0
for _ in range(N):
    As = [int(e) for e in input().split(" ")]
    d = sum([a*b for a, b in zip(As, Bs)]) + C
    if d > 0:
        count = count + 1
print(count)

Solution (Python):
pre=list(map(int,input().split()))
B=list(map(int,input().split()))

count = 0
judge = 0

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

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


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

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

print(ans)

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

Solution (Python):
import sys

import numpy as np

sys.setrecursionlimit(10000)
INF = float('inf')

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

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

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

print(count)

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

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

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

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

for _ in range(n):
    a_list = list(map(int, input().split()))
    sum = c

    for i in range(m):
        sum += a_list[i] * b_list[i]

    if sum > 0:
        count += 1

print(count)

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

for _ in range(n):
    a_list = list(map(int, input().split()))
    sum = 0

    for i in range(m):
        sum += a_list[i] * b_list[i]
    sum += c

    if sum > 0:
        count += 1

print(count)

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

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

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

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

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

Solution (Python):


import sys
import numpy as np

s2nn = lambda s: [int(c) for c in s.split(' ')]
ss2nn = lambda ss: [int(s) for s in ss]
ss2nnn = lambda ss: [s2nn(s) for s in ss]
i2s = lambda: sys.stdin.readline().rstrip()
i2n = lambda: int(i2s())
i2nn = lambda: s2nn(i2s())
ii2ss = lambda n: [sys.stdin.readline().rstrip() for _ in range(n)]
ii2nn = lambda n: ss2nn(ii2ss(n))
ii2nnn = lambda n: ss2nnn(ii2ss(n))

def main():
    N, M, C = i2nn()
    B = i2nn()
    A = ii2nnn(N)
    A, B = np.array(A), np.array(B)
    n = 0
    for i in range(N):
        if np.dot(A[i,:], B) + C > 0:
            n += 1
    print(n)

main()

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

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

print(count)

Solution (Python):
NMC = list(map(lambda x: int(x), input().split()))
N = NMC[0]
M = NMC[1]
C = NMC[2]

B = list(map(lambda x: int(x), input().split()))
A = [list(map(lambda x: int(x), input().split())) for i in range(N)]

answer = 0

for i in range(len(A)):
  judge = 0
  for m in range(len(A[i])):
    judge += A[i][m] * B[m]
  if (judge + C > 0):
    answer += 1

print(answer)

Solution (Python):


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

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

sumlist = []
cnt = 0

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

print(cnt)

Solution (Python):

import sys


def solve(N: int, M: int, C: int, B: "List[int]", A: "List[List[int]]"):
    ret = 0
    for row in A:
        s = C
        for a,b in zip(row,B):
            s += (a*b)
        if s > 0:
            ret += 1

    print(ret)





def main():
    def iterate_tokens():
        for line in sys.stdin:
            for word in line.split():
                yield word
    tokens = iterate_tokens()
    N = int(next(tokens))  
    M = int(next(tokens))  
    C = int(next(tokens))  
    B = [ int(next(tokens)) for _ in range(M) ]  
    A = [ [ int(next(tokens)) for _ in range(M) ] for _ in range(N) ]  
    solve(N, M, C, B, A)

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

print(ans)

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


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

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

Solution (Python):
N, M, C = [int(nmc) for nmc in input().split()]
B = [int(b) for b in input().split()]
ans = 0
for n in range(N):
    A = [int(a) for a in input().split()]
    S = 0
    for m in range(M):
        S += A[m] * B[m]
    S += C
    if S > 0:
        ans += 1
print(ans)

Solution (Python):


n, m, c = map(int, input().split())
numB = [int(s) for s in input().split()]
codeA = []
for _ in range(n):
    codeA.append([int(t) for t in input().split()])
    
count = 0
for a in codeA:
    total = 0
    for i in range(m):
        total += a[i]*numB[i]
    if total + c > 0:
        count += 1
            
print(count)

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

Solution (Python):
import sys


def input():
    return sys.stdin.readline()[:-1]









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

Solution (Python):
a, b, c = map(int, input().split())
b_list = list(map(int, input().split()))
ans = 0
for i in range(a):
        a_list = list(map(int, input().split()))
        chk = c
        for j in range(b):
                chk += a_list[j] * b_list[j]
        if chk > 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(" "))))

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

Solution (Python):

import numpy


N,M,C = map(int, input().split())
B_list = [int(e) for e in input().split()]
A_list = []
ans=0

for i in range(N):
  A_list.append([int(e) for e in input().split()])
  
for i in range(N):
  calc_result = 0
  for j in range(M):
    calc_result = calc_result + A_list[i][j] * B_list[j]
  
  if calc_result + C > 0:
    ans = ans+1

print(ans)

Solution (Python):
i = [int(i) for i in input().split()]
N,C = i[0],i[2]
B = [int(i) for i in input().split()]
ans = 0
for _ in range(N):
    s = 0
    for i, a in enumerate(input().split()):
        s += int(a) * B[i]
    ans += 1 if s + C > 0 else 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):
  tmp=c
  for j in range(m):
    tmp += a[i][j]*b[j]
  if tmp>0:
    ans += 1
print(ans)

Solution (Python):
from collections import defaultdict
import sys,heapq,bisect,math,itertools,string,queue,datetime
sys.setrecursionlimit(10**8)
INF = float('inf')
mod = 10**9+7
eps = 10**-7
def inpl(): return list(map(int, input().split()))
def inpl_str(): return list(input().split())

N,M,C = inpl()
BB = inpl()
ans = 0
for _ in range(N):
    AA = inpl()
    tmp = C
    for i in range(M):
        tmp += AA[i] * BB[i]
    if tmp > 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()))
  sums = sum([A[i]*B[i] for i in range(M)])+C
  if sums > 0:
    cnt += 1
print(cnt)

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

Solution (Python):
import numpy as np
def main():
    n,m,c = list(map(int,input().split(' ')))
    b = list(map(int,input().split(' ')))
    cnt = 0
    b_array = np.array(b)
    for i in range(n):
        a_array = np.array(list(map(int,input().split(' '))))
        if np.sum(a_array*b_array) + 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()))
A = [list(map(int, input().split())) for _  in range(N)]

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

count = 0
for i in range(N):
    if sum([x*y for x,y in zip(A[i], B)]) + 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)]
cnt = 0
for y in range(n):
    choku = 0
    for x in range(m):
        choku += a[y][x]*b[x]
    if choku+c > 0:
        cnt += 1
print(cnt)

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

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

print(ans)

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

for i in A:
  suum = 0
  k = 0
  for j in i:
    suum += j * B[k]
    k += 1
  if suum + C > 0:
    count += 1

print(count)

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




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

for n in range(N):
    S = C
    for m in range(M):
        S += A[n][m]*B[m]
    if S > 0:
        counter += 1
        
print(counter)

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

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

print(count)

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


print(ans)

Solution (Python):

"""
Created on Mon May 13 18:16:09 2019

@author: avina
"""

N, M, C = map(int , input().strip().split())
B = list(map(int , input().strip().split()))
l = [];cnt = 0
for i in range(N):
  g = list(map(int , input().strip().split()))
  l.append(g)
for i in range(N):
  sums = 0
  for j in range(M):
    sums += l[i][j]*B[j]
  if sums + 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):
    calc = 0
    for j in range(m):
        calc += a[i][j]*b[j]
    if calc + c > 0:
        ans += 1

print(ans)

Solution (Python):
count = 0

n, m, c = [int(i) for i in input().split()]

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

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

print(count)

Solution (Python):
li = list(map(int,input().split()))
num = li[0]
num_max = li[1]
sub = li[2]
numbers = list(map(int,input().split()))
total = 0
for i in range(num):
	num_list = list(map(int,input().split()))
	cnt = 0
	for j in range(num_max):
		cnt += num_list[j] * numbers[j]
	if cnt + sub > 0:
		total += 1
	else:
		continue
print(total)

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

cn = 0
for ai in a:
    cn += 1 if sum(ai[j]*b[j] for j in range(m)) + c > 0 else 0
print(cn)

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

count = 0

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

print(count)

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

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

    if check + C > 0:
        ans += 1
print(ans)

Solution (Python):


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

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

print(cnt)

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

cnt = 0
for i in range(N):
  alist = list(map(int,input().split()))
  prod = C
  for j in range(M):
    prod += alist[j]*blist[j]
    
  if prod > 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):
    tmp = C
    for j in range(M):
        tmp += A[i][j] * B[j]
    if(tmp > 0): count += 1

print(count)

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

counter = 0
for a in alist:
    ans = 0
    for j in range(M): 
        ans += a[j] * blist[j]
    ans += C
    if ans > 0:
        counter += 1

print(counter)

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

count = 0
for _ in range(n):
    total = c
    a = list(map(int, input().split()))
    for bn, an in zip(b, a):
        total += bn * an
    if total > 0:
        count += 1

print(count)

Solution (Python):
N,M,C = [ int(it) for it in input().split() ]
bl = [ int(it) for it in input().split() ]
c = 0
for i in range(N):
  al = [ int(it) for it in input().split() ]
  s = C
  for i in range(M):
    s += al[i]*bl[i]
  if (s>0):
    c += 1
print ( c )

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

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

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

b = list(map(int,input().split()))
res = 0
for i in range(n):
 ans = sum([x*y for x,y in zip(b,list(map(int,input().split())))])
 if ans+c > 0:
   res += 1
print(res)