n,m=map(int,input().split()) a=list(map(int,input().split())) b=list(map(int,input().split())) dp=[0]*(10**5+1);mod=10**9+7 dp[0]=1 for i in a: for j in range(10**5-i,-1,-1): dp[j+i]+=dp[j];dp[j+i]%=mod dp2=[0]*len(dp) dp2[0]=1 for i in b: for j in range(10**5-i,-1,-1): dp2[j+i]+=dp2[j];dp2[j+i]%=mod x,y=map(int,input().split());ans=0 for i in range(len(dp)-1,0,-1): dp[i-1]+=dp[i];dp[i-1]%=mod for i in range(10**5,0,-1): if i*x<=10**5: ans+=dp[i*x]*dp2[i]%mod if i*y+1<=10**5: ans-=dp[i*y+1]*dp2[i]%mod ans%=mod print(ans)