#include <bits/stdc++.h>

using namespace std;

#define rep(i, n) for(int i = 0; i < n; i++)
#define reps(i, c, n) for(int i = c; i < n; i++)
#define inv(n, a) for(int i = 0; i < n; i++) cin >> a[i]
#define MOD 1000000007
#define INF 1e7
#define LINF 1e15
typedef long long ll;
typedef long double ld;
using Graph = vector<vector<int>>;
template<class T> inline bool chmin(T& a, T b) { if (a > b) { a = b; return true; } return false; }
template<class T> inline bool chmax(T& a, T b) { if (a < b) { a = b; return true; } return false; }
void print(){ cout << endl; }
template <class H, class... T> void print(H&& h, T&&... t){ cout << h << ", "; print(forward<T>(t)...); }
template <class C> void dump(C o){ rep(i, o.size()-1) cout << o[i] << ", "; cout << o.back() << endl; }

int main() {
	int v, t, s, d; cin >> v >> t >> s >> d;

	if (v * t <= d && d <= v * s)
		cout << "No" << endl;
	else
		cout << "Yes" << endl;
}

#include <iostream>

using namespace std;

int main() {
	
	int v, t, s, d;
	
	cin >> v >> t >> s >> d;
	
	if (d >= v * t && d <= v * s) {
		cout << "No";
	} else {
		cout << "Yes";
	}
	return 0;
}
