#include<bits/stdc++.h> using namespace std; typedef long long ll; ll a[2000010]; int main(){ cin.tie(0); ios::sync_with_stdio(false); cout << fixed << setprecision(20); ll n,p; cin>>n>>p; ll mod = 1e9+7; a[0]=0,a[1]=1; for(int i=2;i<n;i++){ a[i] = (p*a[i-1])%mod + a[i-2]; a[i] %= mod; } ll ans = 0; ll sum = 0; for(int i=0;i<n;i++){ sum += a[i]; sum %= mod; } for(int i=0;i<n;i++){ ans += (sum * a[i])%mod; sum += mod - a[i]; ans %= mod; sum %= mod; } cout << ans << endl; }