import sys readline = sys.stdin.readline N, M, d1, d2 = map(int, input().split()) mod = 10**9 + 7 max_n = 2 * 10**6 fac, inv = [1]*(max_n+1), [0]*(max_n+1) for i in range(2, max_n+1): fac[i] = fac[i-1] * i % mod inv[-1] = pow(fac[-1], mod-2, mod) for i in range(max_n, 0, -1): inv[i-1] = inv[i] * i % mod d = d2 - d1 x = M - 1 - d1 * (N-1) if x < 0: print(0) exit() ans = 0 for i in range(N): sign = -1 if i & 1 else 1 if x+N-(d+1)*i >= N: ans += fac[x+N-(d+1)*i] * inv[N] * inv[x-(d+1)*i]\ * fac[N-1] * inv[i] * inv[N-1-i] * sign % mod print(ans % mod)