#include #include #include #include #include #include #include #include #include #include using namespace std; #define mod (1000000000+7) #define N (10007) #define INF 1e16 typedef long long ll; typedef pair P; ll dp[2000010]; int main(){ ll n,p; cin>>n>>p; dp[0]=0; dp[1]=0; dp[2]=1; for(ll i=3;i<=n;i++){ dp[i] = (p*dp[i-1])%mod; dp[i] = (dp[i]+dp[i-2])%mod; } ll ans = 0,sum = 0; for(ll i=1;i<=n;i++){ ll tmp = dp[i]; sum = (sum + dp[i])%mod; ans = ans + (dp[i]*sum)%mod; ans = ans%mod; } cout<<(ans+mod)%mod<