#include using namespace std; int z[(1<<24)+1]; int cnt[(1<<24)+1]; int x[1000], y[1000], a[1000], b[1000]; int main(){ int M, N, mx, my, ax, ay, MOD; cin >> M >> N >> mx >> ax >> my >> ay >> MOD; for(int i = 0; i < M; i++){ cin >> x[i]; } for(int i = 0; i < M; i++){ cin >> y[i]; } for(int i = 0; i < M; i++){ cin >> a[i]; } for(int i = 0; i < M; i++){ cin >> b[i]; z[x[i]] += y[i]; } int xp = x[M-1]; int yp = y[M-1]; for(int i = M; i < N; i++){ int X, Y; X = xp*mx+ax; Y = yp*my+ay; X &= (MOD-1); Y &= (MOD-1); z[X] += Y; xp = X; yp = Y; } for(int i = 1; i < MOD; i++){ for(int j = 1; i*j < MOD; j++){ cnt[i] += z[i*j]; } } int xo = 0; for(int i = 0; i < M; i++){ int ans = cnt[a[i]]; if(a[i]*b[i] < MOD) ans -= cnt[a[i]*b[i]]; cout << ans << endl; xo ^= ans; } int ap = a[M-1], bp = b[M-1]; for(int i = M; i < N; i++){ int A, B; A = ((ap*mx+ax+MOD-1)&(MOD-1))+1; B = ((bp*my+ay+MOD-1)&(MOD-1))+1; int ans = cnt[A]; if(A*B < MOD) ans -= cnt[A*B]; xo ^= ans; ap = A; bp = B; } cout << xo << endl; }