#include<bits/stdc++.h> using namespace std; const int N=1010; const int mod=1e9+7; int f[N][N]; int main() { int n,a,b; cin>>n>>a>>b; f[1][1]=1; //f[i][j] 第i天时得到八卦的时间恰好为j天的人数 //状态转移: //1.f[i][j]+=f[i-1][j-1]; 此方程显然 //2.对于前一天的得到八卦的时间a<=j<b时(状态表示为f[i-1][j]) //当天会有一个新的八卦的人(此时状态表示为f[i][1]) for(int i=2;i<=n;i++) { for(int j=1;j<=n;j++) (f[i][j]+=f[i-1][j-1])%=mod; for (int j=a;j<b;j++) (f[i][1]+=f[i-1][j])%=mod; } int res=0; for (int j=1;j<=b;j++) res=(res+f[n][j])%mod; cout<<res; return 0; }