#include <bits/stdc++.h>
using namespace std;
int i, j, p, n, w, total = 0, last;
int cup[101], afcup[101], maxcup = 1;
map<int, int> m;
void display() {
  for (i = 1; i <= n; i++) {
    printf("%d", afcup[i]);
    if (i != n) printf(" ");
  }
  cout << endl;
}
int main() {
  cin >> n >> w;
  for (i = 1; i <= n; i++) {
    scanf("%d", &cup[i]);
    m[cup[i]]++;
    maxcup = max(cup[i], maxcup);
    afcup[i] = cup[i] / 2 + cup[i] % 2;
    total += afcup[i];
  }
  if (total > w) {
    cout << "-1" << endl;
    return 0;
  }
  if (total == w) {
    display();
    return 0;
  }
  last = w - total;
  while (last != 0) {
    for (i = maxcup, j = 1; i >= 0; i--) {
      if (m[i] != 0)
        for (p = 1; p <= n; p++) {
          if (cup[p] == i && afcup[p] != cup[p]) {
            afcup[p]++;
            last--;
          }
          if (last == 0) break;
        }
      if (last == 0) break;
    }
  }
  display();
  return 0;
}
