#include <bits/stdc++.h>
using namespace std;
void io() {
  freopen("input.txt", "r", stdin);
  freopen("output.txt", "w", stdout);
}
int32_t main() {
  long long n, m, d;
  cin >> n >> m >> d;
  vector<long long> arr(m, 0), res;
  long long sum = 0;
  for (long long i = 0; i < m; i++) {
    cin >> arr[i];
    sum += arr[i];
  }
  if (sum + (d - 1) * (m + 1) < n) {
    cout << "NO" << endl;
  } else {
    long long remaining = n - sum;
    cout << "YES" << endl;
    for (long long i = 0; i < m + 1; i++) {
      long long jump = min(d - 1, remaining);
      remaining -= jump;
      while (jump--) cout << "0 ";
      if (i < m)
        while (arr[i]--) cout << i + 1 << " ";
    }
    cout << endl;
  }
}
