#include<iostream>
using namespace std;
int n,a,b,c;
const long long mod=1e9+7;
long long cache[1000000];
long long dfs(int x){
if(x<=c){return 1;}
if(cache[x]!=0){return cache[x];}
cache[x]=dfs(x-a)%mod+dfs(x-b)%mod;
return cache[x];
}
int main(){
cin >> n >> a >> b >> c;
cout << dfs(n);
return 0;
}