#include #include #include #include #include #include #include #define TEST_ASSERT(msg, cond) do { if (cond) { cout << msg << " => pass" << endl;} else { cout << msg << " => failed" << endl;} } while(0) using namespace std; int main() { int N; cin >> N; int X; cin >> X; int A; cin >> A; int B; cin >> B; cout << static_cast(ceil(min(static_cast(X)/A, (pow(2.0, N-1)-X)/B))) << endl; return 0; }