#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using P = pair<int, int>;

#define rep(i,n) for (int i = 0; i < (n); ++i)

// 強さをY以上にしない
// 経験値を最大化する
// 経験値は最初0
// 強さは最初X
// 強さをA倍にして、経験値を1増やす
// 強さをB増やして、経験値を1増やす

void solve(long long X, long long Y, long long A, long long B){
    ll ans = 0;
    while(1){
        if(X > Y/A) break;
        if(A*X >= Y) break;
        if(A*X >= X+B) break;
        X *= A;
        ans++;
    }
    ans += (Y-1-X) / B;
    cout << ans << endl;
}

int main(){
    long long X;
    scanf("%lld",&X);
    long long Y;
    scanf("%lld",&Y);
    long long A;
    scanf("%lld",&A);
    long long B;
    scanf("%lld",&B);
    solve(X, Y, A, B);
    return 0;
}

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n, a, b;
	cin >> n >> a >> b;
	cout << n-a+b;
}