#include #include using namespace std; using namespace atcoder; using mint = modint; int main(){ // input int K,S,N; cin >> K >> S >> N; // prep const int M = 10007; mint::set_mod(M); vector F = {1,1}; for(int i = 1; i <= N; i++){ mint x = F[i-1] + F[i]; F.push_back(x); } // solve vector ans(N+1,0); ans[1] = S; for (int i = 1; i < N; i++){ for(int j = 0; j <= K; j++){ int x = max(i-j,0); ans[i+1] += ans[x] / F[j]; } cerr << i+1 << " " << ans[i+1].val() << endl; } // output cout << ans[N].val() << endl; }