#include<iostream>
using namespace std;
long long cou;
long long n,a,b,c,arr[2900000];
long long dfs(long long n){
if(n<=c) {
return 1;
}
if(arr[n-a]==0){
arr[n-a]=dfs(n-a);
}
if(arr[n-b]==0){
arr[n-b]=dfs(n-b);
}
return (arr[n-a]+arr[n-b])%1000000007;
}
int main() {
cin>>n>>a>>b>>c;
cout<<dfs(n);
return 0;
}