#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; for(i=1; i<=n; i++) { if(i==1) a[i]=0; else if(i==2) a[i]=1; else 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; }