#include <bits/stdc++.h>   using namespace std;   const long long Mod = 1000000007;   long long fp(long long a, long long k) {     long long res = 1;     while (k) {       if (k & 1) res = res * a % Mod;       a = a * a % Mod;       k >>= 1;     }     return res;   }   int main() {     long long n, m;     scanf( %I64d%I64d , &n, &m);     long long res = (m == 1 ? n + 1                             : ((m * fp(2 * m - 1, n) - fp(m, n)) % Mod + Mod) *                                   fp(m - 1, Mod - 2) % Mod);     printf( %I64d , res);     return 0;   }   