#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
long long ans = 0;
long long qpow(long long a, long long p) {
  long long ans = 1;
  while (p) {
    if (p & 1) ans = ans * a % mod;
    a = a * a % mod;
    p >>= 1;
  }
  return ans;
}
int main() {
  long long x, k;
  cin >> x >> k;
  long long ans1 = qpow(2, k + 1);
  long long ans2 = qpow(2, k);
  x ? cout << (x % mod * ans1 % mod - ans2 + 1 + mod) % mod << endl
    : cout << 0 << endl;
  return 0;
}
