#include #include using namespace std; using namespace atcoder; using ll = long long; using mint = modint1000000007; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); ll N, P; cin >> N >> P; if(N == 1) { cout << 0 << "\n"; } if(N == 2) { cout << 1 << "\n"; } if(N < 3) { return 0; } mint S = 1, ans = 1; vector A(N, 0); A[1] = 1; for(ll i = 2; i < N; i++) { A[i] = A[i - 1] * P + A[i - 2]; S += A[i]; ans += S * A[i]; } cout << ans.val() << "\n"; }