#include <bits/stdc++.h>
using namespace std;
int n, m, a[110];
int main() {
  int i, j, k;
  int id;
  while (scanf("%d%d", &n, &m) != EOF) {
    int sum = 0;
    for (i = 1; i <= n; i++) {
      scanf("%d", &a[i]);
      sum += a[i];
    }
    if (n == 1) {
      if (sum == m) {
        printf("Yes\n");
        for (i = 1; i < 2 * a[1]; i++) {
          printf("1 ");
        }
        printf("1\n");
      } else
        printf("No\n");
      continue;
    }
    if (m <= 0 || sum < m) {
      printf("No\n");
      continue;
    }
    if (m == 1) {
      for (i = 1; i <= n; i++) {
        if (a[i] == 1) break;
      }
      if (i <= n) {
        printf("Yes\n");
        printf("%d ", i);
        for (j = 1; j <= n; j++) {
          if (j == i) continue;
          for (k = 1; k <= 2 * a[j]; k++) {
            printf("%d ", j);
          }
        }
        printf("%d\n", i);
      } else
        printf("No\n");
      continue;
    }
    printf("Yes\n");
    a[1]--;
    a[2]--;
    m -= 2;
    sum = 0;
    for (i = 1; i <= n; i++) {
      sum += a[i];
      if (sum >= m) {
        id = i;
        break;
      }
    }
    printf("1 ");
    for (i = max(id, 2); i <= n; i++) {
      if (i == id) {
        for (j = 1; j <= 2 * (sum - m); j++) {
          printf("%d ", i);
        }
        continue;
      }
      for (j = 1; j <= 2 * a[i]; j++) {
        printf("%d ", i);
      }
    }
    printf("1 ");
    printf("2 ");
    if (id == 1 && sum - m > 0) {
      for (i = 1; i <= 2 * (sum - m); i++) {
        printf("1 ");
      }
    }
    printf("2");
    sum = 0;
    for (i = 1; i <= n; i++) {
      for (j = 1; j <= a[i]; j++) {
        sum++;
        if (sum <= m) {
          printf(" %d %d", i, i);
        }
      }
    }
    printf("\n");
  }
  return 0;
}
