#include<iostream>
#include<vector>
#include"redica.h"
using namespace std;
vector<int> ans;
void rec(int cur, int curSum, int N, int K, int S)
{
    if((S-curSum)/(N-cur) > K) return;
    if((S-curSum) < N-cur) return;
    if(cur == N-1)
    {
        if(S-curSum > K) return;
        ans.push_back(S-curSum);
        submit(ans);
        ans.pop_back();
        return;
    }
    for(int i = 1; i <= K; i++)
    {
        ans.push_back(i);
        rec(cur+1, curSum+i, N, K, S);
        ans.pop_back();
    }
}
void solve(int N, int K, int S)
{
    if(N <= 7) 
    {
        rec(0, 0, N, K, S);
        return;
    }
    if(S == N*K)
    {
        for(int i = 0; i < N; i++)
        {
            ans.push_back(K);
        }
        submit(ans);
        return;
    }
    int sum = 0;
    if(K >= 12 && N <= 15)
    {
        for(int i = 0; i < 8; i++)
        {
            ans.push_back(query());
            sum+=ans.back();
        }
        rec(8, sum, N, K, S);
        return;
    }
    else if(N <= 15)
    {
        for(int i = 0; i < 6; i++)
        {
            ans.push_back(query());
            sum+=ans.back();
        }
        rec(6, sum, N, K, S);
    }
    else
    {
        if(S <= N*K-2*N)
        {
            for(int i = 0; i < N-4; i++)
            {
                ans.push_back(query());
                sum+=ans.back();
            }
            rec(N-4, sum, N, K, S);
        }
        else
        {
            for(int i = 0; i < N-20; i++)
            {
                ans.push_back(query());
                sum+=ans.back();
            }
            rec(N-20, sum, N, K, S);   
        }
    }
}