#include<bits/stdc++.h>
#define ll long long
using namespace std;

void readFile(){
    #ifndef ONLINE_JUDGE
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
    #endif
}

int main(){
    readFile();
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    float v, t, s, d;
    cin >> v >> t >> s >> d;
    float time = d / v; 
    // cout << time << '\n';
    if(!(time >= t && time <= s)) {
        cout << "Yes\n";
    }
    else{
        cout << "No\n";
    }
}

// speed = distance / time
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ld long double
#define REP(i,m,n) for(int i=(int)(m); i<(int)(n); i++)
#define rep(i,n) REP(i,0,n)
#define RREP(i,m,n) for(int i=(int)(m); i>=(int)(n); i--)
#define rrep(i,n) RREP(i,(n)-1,0)
#define all(v) v.begin(), v.end()
#define endk '\n'
const int inf = 1e9+7;
const ll longinf = 1LL<<60;
const ll mod = 1e9+7;
const ll mod2 = 998244353;
const ld eps = 1e-10;
template<typename T1, typename T2> inline void chmin(T1 &a, T2 b){if(a>b) a=b;}
template<typename T1, typename T2> inline void chmax(T1 &a, T2 b){if(a<b) a=b;}

int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  ll x, y, a, b; cin >> x >> y >> a >> b;
  ll tmp = 0;
  ll ans = 0;
  while(x < y) {
    chmax(ans, (y-x-1)/b+tmp);
    if(y/x < a) break;
    x *= a;
    tmp++;
  }
  cout << ans << endk;
  return 0;
}
