#include using namespace std; #ifdef LOCAL #include "settings/debug.cpp" #define _GLIBCXX_DEBUG #else #define Debug(...) void(0) #endif #define rep(i, n) for (int i = 0; i < (n); ++i) using ll = long long; using ull = unsigned long long; #include using mint = atcoder::dynamic_modint<1>; int main() { int n, m, k; cin >> n >> m >> k; mint::set_mod(k); char op; cin >> op; ll row = 0, col = 0; rep(i, m) { int x; cin >> x; row += x; } rep(i, n) { int x; cin >> x; col += x; } mint ans = 0; if (op == '+') { ans = n * row + m * col; } else { ans = row * col; } cout << ans.val() << endl; return 0; }