#include <bits/stdc++.h>
const long long mod = 1e9 + 7;
long long pow_mod(long long a, long long b) {
  long long res = 1;
  for (; b; b >>= 1, a = a * a % mod)
    if (b & 1) res = res * a % mod;
  return res;
}
int main() {
  long long x, k;
  scanf("%lld%lld", &x, &k);
  if (!x) return puts("0"), 0;
  x %= mod;
  long long ans =
      pow_mod(2ll, k + 1) * x % mod - (pow_mod(2ll, k) - 1 + mod) % mod;
  while (ans < 0) ans += mod;
  return !printf("%lld\n", ans);
}
