#include "redica.h"
#include <bits/stdc++.h>
using namespace std;
vector <int> v;
long long n,k,s,dp[303][303];
void dfs(long long sum,long long beg,int pos)
{
    if(sum-beg<(n-pos)||sum-beg>k*(n-pos))return;
    if(pos==n)
    {
        if(sum>k)return;
        if(sum<0)return;
        v.push_back(sum);
        dfs(0,sum,pos+1);
        v.pop_back();
        return;
    }
    if(pos==n+1)
    {
        submit(v);
        return;
    }
    v.push_back(beg);
    for(int i=1;i<=min(k,sum-beg);i++)
    {
        dfs(sum-beg,i,pos+1);
    }
    v.pop_back();
}
void solve(int n, int k, int s)
{
    ::n=n;
    ::k=k;
    for(int i=1;i<=k;i++)dp[1][i]=1;
    for(int i=2;i<=n;i++)
    {
        for(int j=1;j<=k;j++)
        {
            for(int sum=j;sum<=s;sum++)
            {
                if(dp[i][sum]>1e9)continue;
                dp[i][sum]+=dp[i-1][sum-j];
            }
        }
    }
    int lp=0;
    for(int i=1;i<=n;i++)
    {
        if(dp[i][s]<=5*1e6)
        {
            lp=i;
        }
    }
    for(int i=1;i<=n-lp;i++)
    {
        int ve=query();
        v.push_back(ve);
        s-=ve;
    }
    for(int i=1;i<=k;i++)
    {
        if(i<=s)
        {
            dfs(s,i,max(n-lp+1,1));
        }
    }
}
