#include int main(){ int N, M, K; std::cin >> N >> M >> K; char op; std::cin >> op; std::vector A(N), B(M); for(int i = 0; i < M; ++i) std::cin >> B[i]; for(int i = 0; i < N; ++i) std::cin >> A[i]; std::sort(A.begin(), A.end()); std::sort(B.begin(), B.end()); int64_t ans = 0; if(op == '+'){ for(auto x : A){ ans += M - (std::lower_bound(B.begin(), B.end(), K-x) - B.begin()); } }else{ for(auto x : A){ ans += M - (std::lower_bound(B.begin(), B.end(), (K+x-1)/x) - B.begin()); } } std::cout << ans << std::endl; return 0; }