n,m=[int(j)for j in input().split()] v=[int(j)for j in input().split()] r=[int(j)for j in input().split()] a,b=[int(j)for j in input().split()] mod=10**9+7 import numpy as np lv=np.zeros(10**5+1,dtype=np.int64) lr=np.zeros(10**5+1,dtype=np.int64) lv[0]=1 lr[0]=1 for i in v: lv[i:]+=lv[:-i] lv%=mod for i in r: lr[i:]+=lr[:-i] lr%=mod v_sum=[0]*(10**5+1) for i in range(10**5): v_sum[i+1]=(v_sum[i]+lv[i])%mod lv%=mod lv[0]=0 ans=0 for i in np.where(lr[1:]>0)[0]: i=i+1 if a*i>10**5: break ans=(ans+lr[i]*(v_sum[min(10**5,b*i+1)]-v_sum[a*i]))%mod print(ans)