MOD = 10**9+7 N,p = map(int,input().split()) if N==1: print(0) else: a = 0 b = 1 s1 = 1 s2 = 1 for i in range(3,N+1): c = (p*b+a)%MOD s1 = (s1+c)%MOD s2 = (s2+c*c)%MOD a = b b = c s = (s1*s1+s2)*pow(2,MOD-2,MOD)%MOD print(s)