#include int main(){ // 縦の長さ・横の長さ int vertical,horizontal; scanf("%d%d",&vertical,&horizontal); // 割り long mod = 0; scanf("%ld",&mod); // 計算方法 char symbol; scanf("%c",&symbol); long long arrv[vertical],arrh[horizontal]; // 横配列の値 for(int i = 0;i < horizontal;i ++){ scanf("%lld",&arrh[i]); } // 縦配列の値 for(int i = 0;i < vertical;i ++){ scanf("%lld",&arrv[i]); } long long ans = 0; for(int i = 0;i < vertical;i ++){ for(int j = 0;j < horizontal;j ++){ if(symbol == '+'){ ans += arrv[i] + arrh[j]; ans %= mod; }else{ ans *= arrv[i] * arrh[j]; ans %= mod; } } } printf("%lld",ans); }