from bisect import bisect_left from operator import add, mul, sub, truediv def main(): N, M, K = map(int, input().split()) op, *B = input().split() B = list(map(int, B)) B.sort() A = [int(input()) for _ in range(N)] A.sort() match op: case "+": op_func = sub case "*": op_func = truediv case _: raise ValueError ctr = 0 b_idx = None for row, a_elm in enumerate(A): b_idx = bisect_left(B, op_func(K, a_elm), hi=b_idx) ctr += len(B) - b_idx print(ctr) if __name__ == "__main__": main()