MOD = 1000000007 N, p = map(int,input().split()) S = [0,1] a, b = 0, 1 for k in range(N): t = p*b + a t %= MOD a, b = b, t S.append(t) T = [0 for k in range(N)] for k in range(N): T[k] = T[k-1] + S[k] T[k] %= MOD ans = S[0]*T[-1] ans %= MOD for k in range(1,N): ans += S[k]*(T[-1]-T[k-1]) ans %= MOD print(ans)