#include <bits/stdc++.h>
using namespace std;
int const MOD = 1e9 + 7;
long long qp(long long a, long long e) {
  if (e == 0) return 1;
  if (e == 1) return a;
  if (!(e & 1)) {
    a = qp(a, e / 2);
    return a * a % MOD;
  }
  return a * qp(a, e - 1) % MOD;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  long long n, k;
  cin >> n >> k;
  if (!n) {
    cout << 0;
    return 0;
  }
  long long cant = qp(2, k);
  long long fin = (n % MOD) * cant % MOD;
  long long ini = (fin - cant + 1 + MOD) % MOD;
  long long sum = (fin + ini) % MOD * cant % MOD;
  cout << sum * qp(cant % MOD, MOD - 2) % MOD;
  return 0;
}
