mod = 10**9 + 7
n, p = map(int, input().split())
A = [0] * (n+1)
A[0] = 0
A[1] = 1
for i in range(2, n+1):
    A[i] = (p * A[i-1] + A[i-2]) % mod
S = [0] * (n+1)
for i in range(1, n+1):
    S[i] = S[i-1] + A[i-1]

ans = sum([A[i] * S[i+1] % mod for i in range(n)]) % mod
print(ans)