#include #include #include using namespace atcoder; using mint = modint998244353; using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf32 1000000001 #define Inf64 4000000000000000001LL int main(){ long long N,K,M; cin>>N>>K>>M; vector b(N),c(N); rep(i,N)cin>>b[i]; rep(i,N)cin>>c[i]; long long li,lj,ri,rj; li = 0,lj = 0; long long as = 0; { long long sum = 0; rep(i,N){ if(sum + b[i] >= K){ ri = i; rj = K - sum; as += c[i] * (K-sum); as %= M; break; } as+= c[i]*b[i]; as %= M; sum += b[i]; } } long long ans = 0; while(ri < N){ //cout< b[li]-1){ li++; lj = 0; } if(rj > b[ri]){ ri++; rj = 1; } } cout<