#include using namespace std; const long mod=1e9+7; long dv[2<<17],dr[2<<17]; int N,M; int V[100],R[100]; long A,B; main() { cin>>N>>M; int sv=0,sr=0; dv[0]=1; for(int i=0;i>V[i]; for(int j=sv;j>=0;j--) { (dv[j+V[i]]+=dv[j])%=mod; } sv+=V[i]; } dr[0]=1; for(int i=0;i>R[i]; for(int j=sr;j>=0;j--) { (dr[j+R[i]]+=dr[j])%=mod; } sr+=R[i]; } cin>>A>>B; for(int i=1;i<=sv;i++)(dv[i]+=dv[i-1])%=mod; long ans=0; for(int i=1;i<=sr;i++) { long L=A*i,R=B*i; if(R>sv)R=sv; ans+=(dv[R]+mod-dv[L-1])*dr[i]%mod; } cout<<(ans%mod+mod)%mod<