# coding: utf-8 # Your code here! import sys readline = sys.stdin.readline read = sys.stdin.read #n,m,s = [int(i) for i in readline().split()] n,m = [int(i) for i in readline().split()] v = [int(i) for i in readline().split()] r = [int(i) for i in readline().split()] a,b = [int(i) for i in readline().split()] MOD = 1000000007 def f(dp,v): res = 0 for i in v: res = min(res+i,M) for j in range(res,i-1,-1): dp[j] += dp[j-i] dp[j] %= MOD M = 100000 dp = [0]*(M+1) dp[0] = 1 f(dp,v) dpr = [0]*M dpr[0] = 1 f(dpr,r) from itertools import accumulate acc = list(accumulate(dp)) #print(dp[:20],dpr[:20],acc[:20]) ans = -1 for i,v in enumerate(dpr): L = a*i R = min(M,b*i) #if i < 20: print(i,v,L,R) if L <= R: if i==0: ans += v*(acc[R]) else: ans += v*(acc[R]-acc[L-1]) print(ans%MOD)