#include #include #include #include #include #include #include #include #include #include #include #define INF 1000000000ll #define MOD 1000000007ll #define EPS 1e-10 #define REP(i,m) for(long long i=0; i P; typedef long double ld; int main() { cin.tie(0); ios::sync_with_stdio(false); ll t,a,b,c,d,e; cin>>t>>a>>b>>c>>d>>e; vector> dp(t,vector(20001,0)); dp[0][10000+a]++; dp[0][10000-a]++; dp[0][10000+b]++; dp[0][10000-b]++; dp[0][10000+c]++; dp[0][10000-c]++; FOR(i,1,t) { REP(j,20001) { if(j+a<20001&&j+a>=0) dp[i][j]+=dp[i-1][j+a]; if(j-a<20001&&j-a>=0) dp[i][j]+=dp[i-1][j-a]; if(j+b<20001&&j+b>=0) dp[i][j]+=dp[i-1][j+b]; if(j-b<20001&&j-b>=0) dp[i][j]+=dp[i-1][j-b]; if(j+c<20001&&j+c>=0) dp[i][j]+=dp[i-1][j+c]; if(j-c<20001&&j-c>=0) dp[i][j]+=dp[i-1][j-c]; dp[i][j]%=MOD; } } ll ans=0; REP(i,20001) if(i>=d+10000&&i<=e+10000) ans+=dp[t-1][i]; cout<