#include <bits/stdc++.h>

using namespace std;
int n,k,x;
struct query{
    int l;
    int r;
    int val;
};
vector<query>q;
int niz[1005];
int main()
{
    cin >> n >> k >> x;
    q.push_back({1,n,1});
    for(int i=1; i<n; i++){
        q.push_back({i+1,n,x-1});
        int kolko = n-i;
        if(kolko >= k){
            int gde = n-k+1;
            q.push_back({gde,n,1});
            k=0;
            break;
        }
        k -= kolko;
        q.push_back({i+1,n,1});

    }
    if(k > 0)return 0;
    for(auto c:q){
        int levi = c.l;
        int desni = c.r;
        int sta = c.val;
        niz[c.l] += sta;
        niz[c.r + 1] -= sta;
    }
    int tr = 0;
    for(int i=1; i<=n; i++){
        tr += niz[i];
        niz[i] = tr;
    }
    for(int i=1; i<=n; i++)cout << niz[i] << " ";
    return 0;
}