#include using namespace std; const int64_t MOD = 1e9+7; void add(int64_t& a, int64_t b){ a = (a+b) % MOD; } void mul(int64_t& a, int64_t b){ a = a*b % MOD; } int main(){ int N, M, A, B; cin >> N >> M; vector V(N), R(M); for(int i=0; i> V[i]; for(int i=0; i> R[i]; cin >> A >> B; int mx = 100*1000; vector vdp(mx+1), rdp(mx+1); vdp[0] = rdp[0] = 1; for(int v : V) for(int i=mx-v; i>=0; i--) add(vdp[i+v], vdp[i]); for(int r : R) for(int i=mx-r; i>=0; i--) add(rdp[i+r], rdp[i]); for(int i=0; i