#include <bits/stdc++.h>
using namespace std;
long long mn = INT_MAX;
bool myfnc(const pair<long long, long long>& a,
           const pair<long long, long long>& b) {
  if (a.first != b.first)
    return a.first < b.first;
  else
    return a.second < b.second;
}
template <typename K, typename V>
void print_map(std::map<K, V> const& m) {
  for (auto const& pair : m) {
    std::cout << pair.first << ":" << pair.second << "\n";
  }
}
void solve() {
  long long n, k, s;
  cin >> n >> k >> s;
  vector<long long> ans(k + 1, 1);
  if (s < k || (s + n - 2) / (n - 1) > k) {
    cout << "NO"
         << "\n";
    return;
  }
  long long ts = s - k;
  for (int i = 0; i < k; i++) {
    if (ts >= (n - 1)) {
      ans[i] = n - 1;
      ts = ts - (n - 1) + 1;
    } else {
      ans[i] += ts;
      break;
    }
  }
  cout << "YES"
       << "\n";
  long long va = 1;
  for (int i = 0; i < k; i++) {
    if (va + ans[i] <= n)
      va += ans[i];
    else
      va -= ans[i];
    cout << va << " ";
  }
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  int t = 1;
  while (t--) {
    solve();
  }
  return 0;
}
