#include using namespace std; typedef long long ll; typedef vector vi; typedef vector vl; typedef pair ii; typedef vector vii; typedef set si; #define REP(i, a, b) \ for (int i = (a); i < (b); i++) #define TRvi(c, it) \ for (vi::iterator it = (c).begin(); it != (c).end(); it++) #define TRvii(c, it) \ for (vii::iterator it = (c).begin(); it != (c).end(); it++) #define INF 2000000000 // 2e9 #define INFLL 2000000000000000000 // 2e18 #define esp 0.0000000001 #define PI 3.14159265 inline ll GCD(ll a, ll b) {while (b != 0) {ll c = a % b; a = b; b = c;} return a;}; inline ll LCM(ll a, ll b) {return (a / GCD(a,b)) * b;}; priority_queue< ll, vector, greater > heap; int main() { int p, d, m, s; cin >> p >> d >> m >> s; int res = 0; int h = 0; while (res + p <= s) { res += p; h++; p -= d; if (p < m) p = m; } cout << h; return 0; }