func_code_string: #include <bits/stdc++.h>   using namespace std;   long long int n, k, s;   vector<long long int> v, ans;   void build(const int &last, const int &i, const int &k,              const bool &increasing) {     if (!k)       return;     else if (last != v[i] and int(v.size()) - i == k)       ans.push_back(v[i]), build(v[i], i + 1, k - 1, increasing);     else if (last == v[i])       build(last, i + 1, k, increasing ^ 1);     else       ans.push_back(last + (increasing ? 1 : -1)),           build(last + (increasing ? 1 : -1), i, k - 1, increasing);   }   int main() {     scanf( %lld %lld %lld , &n, &k, &s);     if (k * (n - 1) < s or k > s) return printf( %s n ,  NO ), 0;     for (int i = 0; i < k and s > n - 1; ++i, s -= (n - 1))       v.push_back((i & 1) ? 1 : n);     if (int(v.size()) & 1)       v.push_back(n - s);     else       v.push_back(1 + s);     build(1, 0, k, 1);     printf( %s n ,  YES );     for (int i = 0; i < int(ans.size()); ++i)       printf( %lld%c , ans[i], (i == int(ans.size()) - 1) ?   n  :    );     return 0;   }   