#include using namespace std; #define ALL(x) x.begin(),x.end() #define rep(i,n) for(int i=0;i<(n);i++) #define debug(v) cout<<#v<<":";for(auto x:v){cout<bool chmax(T &a,const T &b){if(abool chmin(T &a,const T &b){if(b>n>>d>>k; ll dp[k+1]={}; dp[0]=1; rep(_,n){ ll dp_new[k+1]={}; for(int i=0;i<=k;i++){ for(int j=1;j<=d;j++){ if(i+j<=k) dp_new[i+j]=(dp_new[i+j]+dp[i])%mod; } } rep(i,k+1) dp[i]=dp_new[i]; } cout<