#include #include #pragma warning(disable:4996) typedef long long ll; const long long MOD = 1000000007; using namespace std; int main(int argc, char* argv[]) { int n,p; scanf("%d%d", &n, &p); ll sum=0; ll ans=0; vector a(n+1); int i; a[1]=0; a[2]=1; sum=1; ans=1; for(i=3; i<=n; i++) { a[i]=(p*a[i-1]+a[i-2])%MOD; sum=(sum+a[i])%MOD; ans=(ans+ sum*a[i])%MOD; } printf("%lld\n", ans); return 0; }