#include using namespace std; #define mp make_pair #define mt make_tuple #define pb push_back #define CONTAINS(a, x) (a.find(x) != a.end()) #define ALL(x) x.begin(), x.end() #define SZ(x) (int)x.size() #define nl cout << endl #define F first #define S second #define what_is(x) cout << #x << " = " << x << endl #define boost ios::sync_with_stdio(false);cin.tie(NULL) #define CASET int ___T, case_n = 1; cin >> ___T; while (___T-- > 0) #define rep(it, st, en) for(ll it = st; it < en; it++) #define rep1(it, st, en) for(ll it = st; it <= en; it++) #define per(it, st, en) for(ll it = en - 1; it >= st; it--) typedef long long ll; typedef pair ii; typedef pair pll; typedef vector vi; typedef vector vll; typedef vector vb; typedef vector vii; typedef vector vvi; ll INF = 1E9; ll M = 1E9 + 7; inline ll max_(ll a, ll b) { return (a>b)?a:b; } inline ll min_(ll a, ll b) { return (a>= 1; } return res; } template ostream& operator<<(ostream& os, const vector &p){os << "[ "; for (T x: p) os << x << " "; os << "]" << endl; return os;} template ostream& operator<<(ostream& os, const set &p){os << "{ "; for (T x: p) os << x << " "; os << "}" << endl; return os;} template ostream& operator<<(ostream& os, const map &p){os << "{ "; for (pair x: p) os << x << " "; os << "}" << endl; return os;} template ostream& operator<<(ostream& os, const pair &p){os << "{" << p.first << ',' << p.second << "}";return os;} int main() { boost; ll p,d,m,s; cin>>p>>d>>m>>s; ll ans=0; if (p>s) { cout<<0; return 0; } else { ans=1; s-=p; } // cout<0) { // cout<=0) ans++; else break; } cout<