#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;
}