#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() {
    int N,X,A,B;
    cin >> N >> X >> A >> B;
    A = ( X/A )+( X%A ? 1 : 0 );
    B = ((1<<(N-1))-X)/B + ( ((1<<N)-X)%B ? 1 : 0 );
    cout << min( A,B ) << endl;
    return 0;
}