#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include //#include //#include //#include #include #define cint(a) scanf("%d",&a) #define cflt(a) scanf("%f",&a) #define cstr(a) scanf("%s",&a) #define cchr(a) scanf("%c",&a) #define cli(a) scanf("%ld",&a) #define cdob(a) scanf("%lf",&a) #define mod 1000000007 #define mod2 1000000009 #define mod1 1432344041 #define ima 1000000004 #define imi -1000000004 #define llma 1000000000000000004 #define llmi -1000000000000000004 #define lp(i,n) for(i=0;i=0;i--) #define ll long long int #define ld long double #define f first #define s second #define pa pair #define pad pair #define pai pair #define pal pair #define pai3 pair< int , pai > #define mp make_pair #define nn 100005 #define pi 3.1415926535898 #define inf 1e15 #define diff 1e-7 #define it ::iterator #define pb push_back #define sync ios::sync_with_stdio(false);cout.tie(0);cin.tie(0); #define lc(a) 2*a+1 #define rc(a) 2*a+2 #define endl "\n" #define h1 47 #define h2 101mp #define mod5 1024523 #define N 3000005 #define lgN 24 using namespace std; typedef complex base; typedef priority_queue, greater > min_pq; typedef priority_queue, greater > min_pq1; typedef priority_queue > pq; ll x,y; ll gcd(ll a,ll b){if(a==0) {x=0,y=1; return b;}ll gc=gcd(b%a,a);ll temp;temp=x;x=y-(b/a)*temp;y=temp;return gc;}//y is the inverse and a is modulus ll po(ll a, ll x, ll m){ if(x==0){return 1;}ll ans=1, k=1; while(k<=x) {if(x&k){ans=((ans*a)%m);} k<<=1; a*=a;a%=m; }return ans; } //(a^x)%m int main() { sync int p,d,m,s; cin>>p>>d>>m>>s; int ans=0; for(int i=0;s>0;i++) { s-=p; if(s>=0) ans++; p-=d; if(p