#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define YOU using #define DONT namespace #define SAY std YOU DONT SAY; typedef long long ll; typedef unsigned long long ull; typedef pair pii; typedef pair pll; typedef pair pli; typedef pair pil; typedef vector vi; typedef vector vii; typedef vector vll; #define REPP(i,a,b,d) for(int i=a;i<=b;i+=d) #define REP(i,a,b) REPP(i,a,b,1) #define REVV(i,a,b,d) for(int i=a;i>=b;i-=d) #define REV(i,a,b) REVV(i,a,b,1) #define FOR(i,a) for(int i=0; i=0; i--) #define mp make_pair #define pb push_back #define ff first #define ss second const int OO = 1e9; const ll INF = 1e18; const int irand(int lo,int hi){ return ((double)rand()/(RAND_MAX + 1.0)) * (hi-lo+1) + lo; } const ll lrand(ll lo,ll hi){ return ((double)rand()/(RAND_MAX + 1.0)) * (hi-lo+1) + lo; } #define getc getchar template T getnum(){ int sign = 1; T ret = 0; char c; do{ c = getc(); }while(c == ' ' || c == '\n'); if(c == '-')sign = -1; else ret = c-'0'; while(1){ c = getc(); if(c < '0' || c > '9')break; ret = 10*ret + c-'0'; } return sign * ret; } inline void ini(int& x){ x = getnum(); } inline void scani(int& x){ scanf("%d",&x); } //end of macro int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int p,d,m,s; cin>>p>>d>>m>>s; int ans = 0; while(s >= p){ s -= p; p = max(p-d, m); ans++; } cout << ans << endl; return 0; }