#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 sum[k+2]; rep(i,k+1) sum[i+1]=(sum[i]+dp[i])%mod; rep(i,k+1){ dp[i]=(sum[i]-sum[max(0,i-d)])%mod; if(dp[i]<0) dp[i]+=mod; } // rep(i,k+1)cout<