#include #include using namespace std; using namespace atcoder; typedef long long ll; typedef pair P; typedef modint1000000007 mint; #define rep(i,a,b) for(ll i=a;i=b;i--) const ll inf=1e18; ll n,p; mint ans,a[2000005],s[2000005]; int main(void){ cin.tie(0); ios::sync_with_stdio(0); cin>>n>>p; a[0]=0; a[1]=1; s[1]=0; s[2]=1; ans=1; rep(i,2,n){ a[i]=p*a[i-1]+a[i-2]; s[i+1]=s[i]+a[i]; ans+=(a[i]*s[i+1]); } cout<