#include <bits/stdc++.h>
using namespace std;

int main() {
  long N, M, K;
  cin >> N >> M >> K;
  char op;
  cin >> op;
  vector<long> B(M), A(N);
  for (int i = 0; i < M; i++) cin >> B.at(i);
  for (int i = 0; i < N; i++) cin >> A.at(i);

  long ans = 0;
  if (op == '+') {
    for (int i = 0; i < N; i++) (ans += A.at(i) * M) %= K;
    for (int i = 0; i < M; i++) (ans += B.at(i) * N) %= K;
  } else {
    long a = accumulate(A.begin(), A.end(), 0L) % K;
    long b = accumulate(B.begin(), B.end(), 0L) % K;
    ans = a * b % K;
  }
  cout << ans << "\n";
}