#include using namespace std; #define int long long #define MOD 1000000007 int a[2000010]; int rui[2000010]; signed main(){ int n; int p; cin >> n >> p; a[0] = 0; a[1] = 1; rui[2] = 1; for(int i = 2;i < n;i++){ a[i] = (a[i-1]*p % MOD + a[i-2]) % MOD; rui[i+1] = (rui[i] + a[i]) % MOD; } int ans = 0; for(int i = 0;i < n;i++){ ans = (ans + (a[i] * rui[i+1]) % MOD) %MOD; } cout << ans << endl; return 0; }