#include <bits/stdc++.h>
using namespace std;
int m, n;
int main() {
  while (~scanf("%d%d", &n, &m)) {
    int i, flag = 0;
    long long in[10000];
    for (i = 0; i < n; i++) scanf("%lld", &in[i]);
    for (int i = 1; i < n; i++)
      if (in[i] > 2 * in[i - 1]) in[i] = 2 * in[i - 1];
    for (i = n - 2; i >= 0; i--)
      if (in[i] > in[i + 1]) in[i] = in[i + 1];
    for (i = n; i < 31; i++) in[i] = in[i - 1] * 2;
    long long res = 0;
    for (i = 0; i < 31; i++) {
      if (res > in[i]) res = in[i];
      if (m & (1 << i)) res += in[i];
    }
    printf("%lld\n", res);
  }
  return 0;
}
