#include using namespace std; #define si(x) scanf("%d",&x) #define su(x) scanf("%u",&x) #define sll(x) scanf("%lld",&x) #define sl(x) scanf("%ld",&x) #define sc(x) scanf("%c",&x) #define ss(x) scanf("%s",x) #define sf(x) scanf("%f",&x) #define slf(x) scanf("%lf",&x) #define pri(x) printf("%d\n",x) #define prl(x) printf("%lld\n",x) #define ll long long int #define mod(x,n) (x+n)%n #define pb push_back #define mp make_pair #define pii pair #define pll pair #define pil pair #define pli pair #define vi vector #define vl vector #define all(a) (a).begin(),(a).end() #define F first #define S second #define sz(x) (int)x.size() #define M 1000000007 int main() { //ios_base::sync_with_stdio(false); //cin.tie(NULL); //cout.tie(NULL); //freopen("input.txt","r",stdin); //freopen("output.txt","w",stdout); int p,d,m,s; si(p); si(d); si(m); si(s); int temp=(p-m)/d; temp++; int temp1=((2*p-(temp-1)*d)*temp)/2; if((s-temp1)>=0){ int cost=(s-temp1)/m; cost+=temp; pri(cost); return 0; } int cost=0,k=0; while(s>0){ s-=(p-k*d); k++; cost++; } if(s<0) cost--; pri(cost); return 0; }