import std.stdio;
import std.conv;
import std.string;
import std.typecons;
import std.algorithm;
import std.array;
import std.range;
import std.math;
import std.regex : regex;
import std.container;
import std.bigint;


void main()
{
  int n, m;
  readf("%d %d\n", &n, &m);

  auto que = BinaryHeap!(int[], "a < b")(new int[100000], 0);

  auto a = readln.chomp.split.to!(int[]);
  foreach (i; 0..n) {
    que.insert(a[i]);
  }

  while (m--) {
    auto x = que.front;
    que.popFront;
    que.insert(x/2);
  }

  long sum;
  while (!que.empty) {
    sum += que.front;
    que.popFront;
  }
  sum.writeln;
}
