#include "bits/stdc++.h" #include "atcoder/all" using namespace std; using namespace atcoder; using ll=long long; using mint=modint998244353; #define rep3(i,a,b) for(int i=a;i<(b);i++) #define rep2(i,n) rep3(i,0,n) #define overload(a,b,c,d,...) d #define rep(...) overload(__VA_ARGS__,rep3,rep2)(__VA_ARGS__) #define all(x) x.begin(),x.end() template istream&operator>>(istream&is,vector&a){ for(T&x:a)is>>x; return is; } template ostream&operator<<(ostream&os,const vector&a){ os<<'{'; for(const T&x:a)os< void operator++(vector&a,int){ for(T&x:a)x++; } templatebool chmin(T&a,T b){ if(a>b){ a=b; return true; } return false; } templatebool chmax(T&a,T b){ if(a void debug_rec(T a){ cerr<<' '< void debug_rec(T1 a,T2... b){ cerr<<' '< void debug(T1 a,T2... b){ cerr<<"debug"; debug_rec(a,b...); } #else #define debug(...) #endif using mm=static_modint<10007>; int main(){ int k,s,n; cin>>k>>s>>n; vectorfib(k+1); fib[0]=fib[1]=1; rep(i,2,k+1)fib[i]=fib[i-1]+fib[i-2]; vectordp(n+1); dp[1]=s; rep(i,1,n){ mm now=0; rep(j,k+1){ if(i-j>=0)now+=dp[i-j]/fib[j]; } dp[i+1]=now; } cout<