#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define popcount __builtin_popcount using namespace std; typedef long long int ll; typedef pair P; int main() { int n, m; cin>>n>>m; int v[101], r[101]; for(int i=0; i>v[i]; for(int i=0; i>r[i]; ll dpv[100002]={}, dpr[100002]={}; dpv[0]=1, dpr[0]=1; const int mx=100000; const ll MOD=1e9+7; for(int i=0; i=0; j--){ (dpv[j+v[i]]+=dpv[j])%=MOD; } } for(int i=0; i=0; j--){ (dpr[j+r[i]]+=dpr[j])%=MOD; } } for(int i=1; i<=mx; i++){ (dpv[i]+=dpv[i-1])%=MOD; } ll a, b; cin>>a>>b; ll ans=0; for(int i=1; i<=mx/a; i++){ ll l=a*i, r=min((ll)mx, b*i); (ans+=dpr[i]*(dpv[r]-dpv[l-1]+MOD))%=MOD; } cout<