#include <bits/stdc++.h>
using namespace std;
const long long int MOD = 1e9 + 7;
long long int power(long long int x, long long int y) {
  long long int res = 1;
  while (y) {
    if (y % 2) {
      res = (res * x) % MOD;
      y--;
    }
    x = (x * x) % MOD;
    y /= 2;
  }
  return res;
}
int main() {
  long long int n, k;
  scanf("%lld%lld", &n, &k);
  if (n == 0) {
    printf("0\n");
    return 0;
  }
  long long int temp1 = power(2, k);
  long long int temp2 = (temp1 * 2) % MOD;
  long long int ans = ((n % MOD) * (temp2 % MOD)) % MOD;
  long long int minus = (temp1 - 1) % MOD;
  if (minus < 0) minus += MOD;
  ans = (ans - minus) % MOD;
  if (ans < 0) ans += MOD;
  printf("%lld\n", ans);
  return 0;
}
