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

signed main()
{
	int V,T,S,D;
	cin>>V>>T>>S>>D;
	if(D*1.0/V>=T&&D*1.0/V<=S) cout<<"No\n";
	else cout<<"Yes\n";
	return 0; 
}
#include <bits/stdc++.h>
#ifdef local
#define debug(args...) qqbx(#args, args)
template <typename ...T> void qqbx(const char *s, T ...args) {
    int cnt = sizeof...(T);
    ((std::cerr << "(" << s << ") = (") , ... , (std::cerr << args << (--cnt ? ", " : ")\n")));
}
#else
#define debug(...) ((void)0)
#endif // local
#define pb emplace_back
#define all(v) begin(v),end(v)
#define endl '\n'
#define F first
#define S second
#define int long long
#define IOS ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0)
#define VI vector<int>
#define rep(i,m,n) for(int i = m;i<=n;++i)
#define res(i,m,n) for(int i = m;i>=n;--i)
#define gcd(a,b) __gcd(a,b)
#define lcm(a,b) a*b/gcd(a,b)
#define Case() int _;cin>>_;for(int Case = 1;Case<=_;++Case)
using namespace std;
signed main(){
	IOS;
	double v,t,s,d;
	cin>>v>>t>>s>>d;
	double a = d/v;
		
	cout<<(string)(t<=a and a<=s?"No\n":"Yes\n");
}
