#include using namespace std; using lli = int_fast64_t; using ulli = uint_fast64_t; #define debug(x) cerr << #x << " : " << x << endl #define debugv(x) cerr << #x << " : {";for(auto value_of_x:x){ cerr << value_of_x << ", ";}cerr << endl namespace atcoder { template T ncr(T left, T right) { right = min(left - right, right); T ans = 1; for (T i = 1; i <= right; i++) { ans = ans * (left - right + i) / i; } return ans; } const lli MOD = 1000000007; const lli LIMIT = 1'0'000'000'000'000'000 * 5; const int tenfive = 100000; } using namespace atcoder; int main() { int A, B, C, D; cin >> A >> B >> C >> D; int ans = 0; int eated = 0; while (1) { if (A == 0) break; if (B < C) break; eated += (C + 1); if (eated > D) break; A--; B -= C; ans++; } cout << ans << endl; return 0; }