#include <iostream>
#include <vector>
using namespace std;

int main() {
	int N, M;
	long K;
	char op;
	cin >> N >> M >> K >> op;
	vector<long> B(M), A(N);
	for (long& i : B) cin >> i;
	for (int i = 1; i < M; i++) B[i] = (B[i - 1] + B[i]) % K;
	for (long& i : A) {
		cin >> i;
		if (op == '+') i = (B.back() + M * i % K) % K;
		else i = B.back() * i % K;
	}
	for (int i = 1; i < N; i++) A[i] = (A[i - 1] + A[i]) % K;
	cout << A.back();
}