#include <bits/stdc++.h>
using namespace std;
int n, w, a[20000];
void bad() {
  cout << "No" << endl;
  exit(0);
}
int main() {
  cin >> n >> w;
  for (int i = 0; i < n; i++) cin >> a[i];
  if (w <= 0) bad();
  if (n == 1) {
    if (a[0] != w)
      bad();
    else {
      cout << "Yes" << endl;
      for (int i = 0; i < 2 * a[0] - 1; i++) cout << 1 << ' ';
      cout << 1 << endl;
      exit(0);
    }
  }
  if (w == 1) {
    for (int i = 0; i < n; i++)
      if (a[i] == 1) {
        cout << "Yes" << endl;
        cout << i + 1 << ' ';
        for (int j = 0; j < n; j++) {
          if (j != i) {
            for (int k = 0; k < a[j]; k++) {
              cout << j + 1 << ' ';
              cout << j + 1 << ' ';
            }
          }
        }
        cout << i + 1 << endl;
        exit(0);
      }
    bad();
  }
  int sum = 0;
  for (int i = 0; i < n; i++) sum += a[i];
  if (sum < w) bad();
  cout << "Yes" << endl;
  int sofar = 0;
  for (int i = 0; i < n && sofar < w - 2; i++) {
    int p = a[i];
    if (i >= n - 2) p = a[i] - 1;
    for (int j = 0; j < p && sofar < w - 2; j++) {
      cout << i + 1 << ' ';
      cout << i + 1 << ' ';
      a[i]--;
      sofar++;
    }
  }
  cout << n << ' ';
  for (int i = n - 2; i >= 0; i--) {
    int p = a[i];
    if (i >= n - 2) p = a[i] - 1;
    for (int j = 0; j < p; j++) {
      cout << i + 1 << ' ';
      cout << i + 1 << ' ';
      a[i]--;
    }
  }
  cout << n << ' ';
  cout << n - 1 << ' ';
  for (int i = n - 1; i >= 0; i--) {
    int p = a[i];
    if (i >= n - 2) p = a[i] - 1;
    for (int j = 0; j < p; j++) {
      cout << i + 1 << ' ';
      cout << i + 1 << ' ';
      a[i]--;
    }
  }
  cout << n - 1 << endl;
}
