#include #include #include #include #include #include #include #include #include #include #include #include #define rep(i, n) for(int i = 0; i < (int)(n); ++i) using namespace std; int main(void) { int N, M, K; char op; cin >> N >> M >> K >> op; vector A(N), B(M); rep(i, M) cin >> B[i]; rep(i, N) cin >> A[i]; sort(B.begin(), B.end()); long long ans = 0; rep(i, N) { int left = -1; int right = M; while (right - left > 1) { int mid = (right + left) / 2; if (op == '+') { if (A[i] + B[mid] >= K) right = mid; else left = mid; } else { if (A[i] * B[mid] >= K) right = mid; else left = mid; } } ans += M - right; } cout << ans << endl; return 0; }