#include using namespace std; #define rep(i, n) for (int i=0; i> N >> M; rep(i, N) cin >> V[i]; rep(i, M) cin >> R[i]; cin >> A >> B; rep(i, N+1) rep(j, 100001) dp1[i][j] = 0; dp1[0][0] = 1; rep(i, N) { rep(j, 100001) { dp1[i+1][j] += dp1[i][j]; dp1[i+1][j] %= MOD; if (j+V[i]<100001) { dp1[i+1][j+V[i]] += dp1[i][j]; dp1[i+1][j+V[i]] %= MOD; } } } int acc[100002]; acc[0] = 0; rep(i, 100001) acc[i+1] = acc[i]+dp1[N][i]; rep(i, M+1) rep(j, 100001) dp2[i][j] = 0; dp2[0][0] = 1; rep(i, M) { rep(j, 100001) { dp2[i+1][j] += dp2[i][j]; dp2[i+1][j] %= MOD; if (j+R[i]<100001) { dp2[i+1][j+R[i]] += dp2[i][j]; dp2[i+1][j+R[i]] %= MOD; } } } int ans = 0; for (int i=1; i<100001; i++) { if (i*A<=100000 && i*B<=100000) { ans += dp2[M][i]*(acc[i*B+1]-acc[i*A]); ans %= MOD; } } cout << ans << endl; }