/* -*- coding: utf-8 -*- * * 598.cc: No.598 オーバーフローファンタジー - yukicoder */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; /* constant */ /* typedef */ typedef long long ll; typedef vector vi; typedef queue qi; typedef pair pii; /* global variables */ /* subroutines */ /* main */ int main() { int n; ll x, a, b; scanf("%d%lld%lld%lld", &n, &x, &a, &b); int k0 = (x + a - 1) / a; int k1 = ((1LL << (n - 1)) - x + b - 1) / b; printf("%d\n", min(k0, k1)); return 0; }