#include <bits/stdc++.h>
using namespace std;
const int mod = 1000000000 + 7;
long long modpow(long long a, long long b) {
  if (b == 0) return 1;
  if (b & 1) return (modpow(a, b - 1) * a) % mod;
  long long m = modpow(a, b >> 1);
  return (m * m) % mod;
}
int main(int argc, char const* argv[]) {
  long long x, k;
  cin >> x >> k;
  if (x == 0) {
    cout << 0 << endl;
    exit(0);
  }
  x %= mod;
  long long ans = x * modpow(2, k + 1) - modpow(2, k) + 1;
  ans %= mod;
  if (ans < 0) ans += mod;
  cout << ans << endl;
  return 0;
}
