#include <iostream> #include <vector> #include <string> #include <cstring> #include <math.h> #include <cmath> #include <limits.h> #include <map> #include <set> #include <queue> #include <algorithm> #include <functional> #include <stdio.h> using namespace std; long long MOD = 1000000007; int main() { unsigned int N,X,A,B; cin >> N >> X >> A >> B; A = ( X/A )+( X%A ? 1 : 0 ); unsigned int a = 1<<(N-1); // cout << a << endl; B = (a-X)/B + ( ((1<<N)-X)%B ? 1 : 0 ); cout << min( A,B ) << endl; return 0; }