///B-Battle

#include <stdio.h>

#define A 100
#define B 100
#define C 100
#define D 100 ///これいけるのかぁ？ わーい

void battle(int *a, int b, int *c, int d, int t); /* voidじゃいかんでしょ */
void winORlose(int a, int c);/* 勝敗 */

int main()
{
  int a; /* 高橋の体力 */
  int b; /* 高橋の攻撃力 */
  int c; /* 青木の体力 */
  int d; /* 青木の攻撃力 */

  int t = 0;/* カウンター ，ターン */

  /* 入力 */
  scanf("%d%d",&a,&b);/* 高橋の体力と攻撃力 */
  scanf("%d%d",&c,&d);/* 青木の体力と攻撃力 */

  while( 0<a && 0<c)///////高橋 H:10 A:9  青木 H:10 A 10
  {
    t++;
    battle(&a,b,&c,d,t);
  }
  return 0;
}

void battle(int *a, int b, int *c, int d, int t)
{
  if(t%2 != 0){ /* 高橋くんが攻撃するとき 奇数ターン */
    *c = *c - b;}
  else{/* 青木くんが攻撃するとき 　偶数ターン*/
    *a = *a - d;}

  // printf("ターン数 ＝ %d",t);
  winORlose(*a,*c);

}

void winORlose(int a, int c)
{
  if(a<=0){
    printf("\nNO\n");
      // printf("高橋=%d,青木=%d\n",a,c);
  }
  else if(c<=0){
    printf("\nYES\n");
    // printf("高橋=%d,青木=%d\n",a,c);
  }
  else
  {
  // printf("勝負はまだついてない!");
    // printf("高橋=%d,青木=%d\n",a,c);
  }
}