import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;
class Main
{
	static void merge(int arr[], int l, int m, int r) 
    { 
        int n1 = m - l + 1; 
        int n2 = r - m; 
        int L[] = new int [n1]; 
        int R[] = new int [n2]; 
        for (int i=0; i<n1; ++i) 
            L[i] = arr[l + i]; 
        for (int j=0; j<n2; ++j) 
            R[j] = arr[m + 1+ j]; 
        int i = 0, j = 0; 
        int k = l; 
        while (i < n1 && j < n2) 
        { 
            if (L[i] <= R[j]) 
            { 
                arr[k] = L[i]; 
                i++; 
            } 
            else
            { 
                arr[k] = R[j]; 
                j++; 
            } 
            k++; 
        } 
        while (i < n1) 
        { 
            arr[k] = L[i]; 
            i++; 
            k++; 
        } 
        while (j < n2) 
        { 
            arr[k] = R[j]; 
            j++; 
            k++; 
        } 
    } 
    static void sort(int arr[], int l, int r) 
    { 
        if (l < r) 
        { 
            int m = (l+r)/2; 
            sort(arr, l, m); 
            sort(arr , m+1, r); 
            merge(arr, l, m, r); 
        } 
    } 
    static int gcd(int a, int b) 
    { 
      if (b == 0) 
        return a; 
      return gcd(b, a % b);  
    } 
    static long power(long n,long m)
    {
    	if(m==0)
    		return 1;
    	long ans=1;
    	while(m>0)
    	{
    		ans=ans*n;
    		m--;
    	}
    	return ans;
    }
	static int binarySearch(ArrayList<Integer> arr, int x) 
    { 
        int l = 0, r = arr.size() - 1,m=l + (r - l) / 2; 
        while (l <= r) { 
            m = l + (r - l) / 2; 
            if (arr.get(m) == x) 
                return m; 
            if (arr.get(m) < x) 
                l = m + 1; 
            else
                r = m - 1; 
        } 
        return (int)Math.max(l, m); 
    } 
	public static void main(String args[])throws Exception
	{
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		int t=1;//Integer.parseInt(br.readLine());
	    for(int i=1;i<=t;i++)
	    {
	        double aa,bb,cc,dd;
	        String s=br.readLine();
	        String ss[]=s.split(" ");
	        aa=Integer.parseInt(ss[0]);
	        bb=Integer.parseInt(ss[1]);
	        cc=Integer.parseInt(ss[2]);
	        dd=Integer.parseInt(ss[3]);
	        if(Math.ceil(cc/bb)<=Math.ceil(aa/dd))
	        {
	        	System.out.println("Yes");
	        	return;
	        }
	        else
	        System.out.println("No");
	    }
	}
} import java.io.BufferedReader; BufferedReader java.io import java.io.InputStreamReader; InputStreamReader java.io import java.util.*; util.* java class Main
{
	static void merge(int arr[], int l, int m, int r) 
    { 
        int n1 = m - l + 1; 
        int n2 = r - m; 
        int L[] = new int [n1]; 
        int R[] = new int [n2]; 
        for (int i=0; i<n1; ++i) 
            L[i] = arr[l + i]; 
        for (int j=0; j<n2; ++j) 
            R[j] = arr[m + 1+ j]; 
        int i = 0, j = 0; 
        int k = l; 
        while (i < n1 && j < n2) 
        { 
            if (L[i] <= R[j]) 
            { 
                arr[k] = L[i]; 
                i++; 
            } 
            else
            { 
                arr[k] = R[j]; 
                j++; 
            } 
            k++; 
        } 
        while (i < n1) 
        { 
            arr[k] = L[i]; 
            i++; 
            k++; 
        } 
        while (j < n2) 
        { 
            arr[k] = R[j]; 
            j++; 
            k++; 
        } 
    } 
    static void sort(int arr[], int l, int r) 
    { 
        if (l < r) 
        { 
            int m = (l+r)/2; 
            sort(arr, l, m); 
            sort(arr , m+1, r); 
            merge(arr, l, m, r); 
        } 
    } 
    static int gcd(int a, int b) 
    { 
      if (b == 0) 
        return a; 
      return gcd(b, a % b);  
    } 
    static long power(long n,long m)
    {
    	if(m==0)
    		return 1;
    	long ans=1;
    	while(m>0)
    	{
    		ans=ans*n;
    		m--;
    	}
    	return ans;
    }
	static int binarySearch(ArrayList<Integer> arr, int x) 
    { 
        int l = 0, r = arr.size() - 1,m=l + (r - l) / 2; 
        while (l <= r) { 
            m = l + (r - l) / 2; 
            if (arr.get(m) == x) 
                return m; 
            if (arr.get(m) < x) 
                l = m + 1; 
            else
                r = m - 1; 
        } 
        return (int)Math.max(l, m); 
    } 
	public static void main(String args[])throws Exception
	{
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		int t=1;//Integer.parseInt(br.readLine());
	    for(int i=1;i<=t;i++)
	    {
	        double aa,bb,cc,dd;
	        String s=br.readLine();
	        String ss[]=s.split(" ");
	        aa=Integer.parseInt(ss[0]);
	        bb=Integer.parseInt(ss[1]);
	        cc=Integer.parseInt(ss[2]);
	        dd=Integer.parseInt(ss[3]);
	        if(Math.ceil(cc/bb)<=Math.ceil(aa/dd))
	        {
	        	System.out.println("Yes");
	        	return;
	        }
	        else
	        System.out.println("No");
	    }
	}
} Main static void merge(int arr[], int l, int m, int r) 
    { 
        int n1 = m - l + 1; 
        int n2 = r - m; 
        int L[] = new int [n1]; 
        int R[] = new int [n2]; 
        for (int i=0; i<n1; ++i) 
            L[i] = arr[l + i]; 
        for (int j=0; j<n2; ++j) 
            R[j] = arr[m + 1+ j]; 
        int i = 0, j = 0; 
        int k = l; 
        while (i < n1 && j < n2) 
        { 
            if (L[i] <= R[j]) 
            { 
                arr[k] = L[i]; 
                i++; 
            } 
            else
            { 
                arr[k] = R[j]; 
                j++; 
            } 
            k++; 
        } 
        while (i < n1) 
        { 
            arr[k] = L[i]; 
            i++; 
            k++; 
        } 
        while (j < n2) 
        { 
            arr[k] = R[j]; 
            j++; 
            k++; 
        } 
    } merge { 
        int n1 = m - l + 1; 
        int n2 = r - m; 
        int L[] = new int [n1]; 
        int R[] = new int [n2]; 
        for (int i=0; i<n1; ++i) 
            L[i] = arr[l + i]; 
        for (int j=0; j<n2; ++j) 
            R[j] = arr[m + 1+ j]; 
        int i = 0, j = 0; 
        int k = l; 
        while (i < n1 && j < n2) 
        { 
            if (L[i] <= R[j]) 
            { 
                arr[k] = L[i]; 
                i++; 
            } 
            else
            { 
                arr[k] = R[j]; 
                j++; 
            } 
            k++; 
        } 
        while (i < n1) 
        { 
            arr[k] = L[i]; 
            i++; 
            k++; 
        } 
        while (j < n2) 
        { 
            arr[k] = R[j]; 
            j++; 
            k++; 
        } 
    } int n1 = m - l + 1; n1 m - l + 1 m - l m l 1 int n2 = r - m; n2 r - m r m int L[] = new int [n1]; L new int [n1] n1 int R[] = new int [n2]; R new int [n2] n2 for (int i=0; i<n1; ++i) 
            L[i] = arr[l + i]; int i=0; int i=0; i 0 i<n1 i n1 ++i ++i i L[i] = arr[l + i]; L[i] = arr[l + i] L[i] L i arr[l + i] arr l + i l i for (int j=0; j<n2; ++j) 
            R[j] = arr[m + 1+ j]; int j=0; int j=0; j 0 j<n2 j n2 ++j ++j j R[j] = arr[m + 1+ j]; R[j] = arr[m + 1+ j] R[j] R j arr[m + 1+ j] arr m + 1+ j m + 1+ j m 1 j int i = 0 i 0 j = 0; j 0 int k = l; k l while (i < n1 && j < n2) 
        { 
            if (L[i] <= R[j]) 
            { 
                arr[k] = L[i]; 
                i++; 
            } 
            else
            { 
                arr[k] = R[j]; 
                j++; 
            } 
            k++; 
        } i < n1 && j < n2 i < n1 i n1 j < n2 j n2 { 
            if (L[i] <= R[j]) 
            { 
                arr[k] = L[i]; 
                i++; 
            } 
            else
            { 
                arr[k] = R[j]; 
                j++; 
            } 
            k++; 
        } if (L[i] <= R[j]) 
            { 
                arr[k] = L[i]; 
                i++; 
            } 
            else
            { 
                arr[k] = R[j]; 
                j++; 
            } L[i] <= R[j] L[i] L i R[j] R j { 
                arr[k] = L[i]; 
                i++; 
            } arr[k] = L[i] arr[k] arr k L[i] L i i++ i { 
                arr[k] = R[j]; 
                j++; 
            } arr[k] = R[j] arr[k] arr k R[j] R j j++ j k++ k while (i < n1) 
        { 
            arr[k] = L[i]; 
            i++; 
            k++; 
        } i < n1 i n1 { 
            arr[k] = L[i]; 
            i++; 
            k++; 
        } arr[k] = L[i] arr[k] arr k L[i] L i i++ i k++ k while (j < n2) 
        { 
            arr[k] = R[j]; 
            j++; 
            k++; 
        } j < n2 j n2 { 
            arr[k] = R[j]; 
            j++; 
            k++; 
        } arr[k] = R[j] arr[k] arr k R[j] R j j++ j k++ k int arr[] arr int l l int m m int r r static void sort(int arr[], int l, int r) 
    { 
        if (l < r) 
        { 
            int m = (l+r)/2; 
            sort(arr, l, m); 
            sort(arr , m+1, r); 
            merge(arr, l, m, r); 
        } 
    } sort { 
        if (l < r) 
        { 
            int m = (l+r)/2; 
            sort(arr, l, m); 
            sort(arr , m+1, r); 
            merge(arr, l, m, r); 
        } 
    } if (l < r) 
        { 
            int m = (l+r)/2; 
            sort(arr, l, m); 
            sort(arr , m+1, r); 
            merge(arr, l, m, r); 
        } l < r l r { 
            int m = (l+r)/2; 
            sort(arr, l, m); 
            sort(arr , m+1, r); 
            merge(arr, l, m, r); 
        } int m = (l+r)/2; m (l+r)/2 (l+r) l r 2 sort(arr, l, m) sort arr l m sort(arr , m+1, r) sort arr m+1 m 1 r merge(arr, l, m, r) merge arr l m r int arr[] arr int l l int r r static int gcd(int a, int b) 
    { 
      if (b == 0) 
        return a; 
      return gcd(b, a % b);  
    } gcd { 
      if (b == 0) 
        return a; 
      return gcd(b, a % b);  
    } if (b == 0) 
        return a; b == 0 b 0 return a; a return gcd(b, a % b); gcd(b, a % b) gcd b a % b a b int a a int b b static long power(long n,long m)
    {
    	if(m==0)
    		return 1;
    	long ans=1;
    	while(m>0)
    	{
    		ans=ans*n;
    		m--;
    	}
    	return ans;
    } power {
    	if(m==0)
    		return 1;
    	long ans=1;
    	while(m>0)
    	{
    		ans=ans*n;
    		m--;
    	}
    	return ans;
    } if(m==0)
    		return 1; m==0 m 0 return 1; 1 long ans=1; ans 1 while(m>0)
    	{
    		ans=ans*n;
    		m--;
    	} m>0 m 0 {
    		ans=ans*n;
    		m--;
    	} ans=ans*n ans ans*n ans n m-- m return ans; ans long n n long m m static int binarySearch(ArrayList<Integer> arr, int x) 
    { 
        int l = 0, r = arr.size() - 1,m=l + (r - l) / 2; 
        while (l <= r) { 
            m = l + (r - l) / 2; 
            if (arr.get(m) == x) 
                return m; 
            if (arr.get(m) < x) 
                l = m + 1; 
            else
                r = m - 1; 
        } 
        return (int)Math.max(l, m); 
    } binarySearch { 
        int l = 0, r = arr.size() - 1,m=l + (r - l) / 2; 
        while (l <= r) { 
            m = l + (r - l) / 2; 
            if (arr.get(m) == x) 
                return m; 
            if (arr.get(m) < x) 
                l = m + 1; 
            else
                r = m - 1; 
        } 
        return (int)Math.max(l, m); 
    } int l = 0 l 0 r = arr.size() - 1 r arr.size() - 1 arr.size() arr.size arr 1 m=l + (r - l) / 2; m l + (r - l) / 2 l (r - l) / 2 (r - l) r l 2 while (l <= r) { 
            m = l + (r - l) / 2; 
            if (arr.get(m) == x) 
                return m; 
            if (arr.get(m) < x) 
                l = m + 1; 
            else
                r = m - 1; 
        } l <= r l r { 
            m = l + (r - l) / 2; 
            if (arr.get(m) == x) 
                return m; 
            if (arr.get(m) < x) 
                l = m + 1; 
            else
                r = m - 1; 
        } m = l + (r - l) / 2 m l + (r - l) / 2 l (r - l) / 2 (r - l) r l 2 if (arr.get(m) == x) 
                return m; arr.get(m) == x arr.get(m) arr.get arr m x return m; m if (arr.get(m) < x) 
                l = m + 1; 
            else
                r = m - 1; arr.get(m) < x arr.get(m) arr.get arr m x l = m + 1 l m + 1 m 1 r = m - 1 r m - 1 m 1 return (int)Math.max(l, m); (int)Math.max(l, m) Math.max Math l m ArrayList<Integer> arr arr int x x public static void main(String args[])throws Exception
	{
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		int t=1;//Integer.parseInt(br.readLine());
	    for(int i=1;i<=t;i++)
	    {
	        double aa,bb,cc,dd;
	        String s=br.readLine();
	        String ss[]=s.split(" ");
	        aa=Integer.parseInt(ss[0]);
	        bb=Integer.parseInt(ss[1]);
	        cc=Integer.parseInt(ss[2]);
	        dd=Integer.parseInt(ss[3]);
	        if(Math.ceil(cc/bb)<=Math.ceil(aa/dd))
	        {
	        	System.out.println("Yes");
	        	return;
	        }
	        else
	        System.out.println("No");
	    }
	} main {
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		int t=1;//Integer.parseInt(br.readLine());
	    for(int i=1;i<=t;i++)
	    {
	        double aa,bb,cc,dd;
	        String s=br.readLine();
	        String ss[]=s.split(" ");
	        aa=Integer.parseInt(ss[0]);
	        bb=Integer.parseInt(ss[1]);
	        cc=Integer.parseInt(ss[2]);
	        dd=Integer.parseInt(ss[3]);
	        if(Math.ceil(cc/bb)<=Math.ceil(aa/dd))
	        {
	        	System.out.println("Yes");
	        	return;
	        }
	        else
	        System.out.println("No");
	    }
	} BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); br new BufferedReader(new InputStreamReader(System.in)) int t=1; t 1 for(int i=1;i<=t;i++)
	    {
	        double aa,bb,cc,dd;
	        String s=br.readLine();
	        String ss[]=s.split(" ");
	        aa=Integer.parseInt(ss[0]);
	        bb=Integer.parseInt(ss[1]);
	        cc=Integer.parseInt(ss[2]);
	        dd=Integer.parseInt(ss[3]);
	        if(Math.ceil(cc/bb)<=Math.ceil(aa/dd))
	        {
	        	System.out.println("Yes");
	        	return;
	        }
	        else
	        System.out.println("No");
	    } int i=1; int i=1; i 1 i<=t i t i++ i++ i {
	        double aa,bb,cc,dd;
	        String s=br.readLine();
	        String ss[]=s.split(" ");
	        aa=Integer.parseInt(ss[0]);
	        bb=Integer.parseInt(ss[1]);
	        cc=Integer.parseInt(ss[2]);
	        dd=Integer.parseInt(ss[3]);
	        if(Math.ceil(cc/bb)<=Math.ceil(aa/dd))
	        {
	        	System.out.println("Yes");
	        	return;
	        }
	        else
	        System.out.println("No");
	    } {
	        double aa,bb,cc,dd;
	        String s=br.readLine();
	        String ss[]=s.split(" ");
	        aa=Integer.parseInt(ss[0]);
	        bb=Integer.parseInt(ss[1]);
	        cc=Integer.parseInt(ss[2]);
	        dd=Integer.parseInt(ss[3]);
	        if(Math.ceil(cc/bb)<=Math.ceil(aa/dd))
	        {
	        	System.out.println("Yes");
	        	return;
	        }
	        else
	        System.out.println("No");
	    } double aa aa bb bb cc cc dd; dd String s=br.readLine(); s br.readLine() br.readLine br String ss[]=s.split(" "); ss s.split(" ") s.split s " " aa=Integer.parseInt(ss[0]) aa Integer.parseInt(ss[0]) Integer.parseInt Integer ss[0] ss 0 bb=Integer.parseInt(ss[1]) bb Integer.parseInt(ss[1]) Integer.parseInt Integer ss[1] ss 1 cc=Integer.parseInt(ss[2]) cc Integer.parseInt(ss[2]) Integer.parseInt Integer ss[2] ss 2 dd=Integer.parseInt(ss[3]) dd Integer.parseInt(ss[3]) Integer.parseInt Integer ss[3] ss 3 if(Math.ceil(cc/bb)<=Math.ceil(aa/dd))
	        {
	        	System.out.println("Yes");
	        	return;
	        }
	        else
	        System.out.println("No"); Math.ceil(cc/bb)<=Math.ceil(aa/dd) Math.ceil(cc/bb) Math.ceil Math cc/bb cc bb Math.ceil(aa/dd) Math.ceil Math aa/dd aa dd {
	        	System.out.println("Yes");
	        	return;
	        } System.out.println("Yes") System.out.println System.out System System.out "Yes" return; System.out.println("No") System.out.println System.out System System.out "No" String args[] args
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;
class Main
{
	static void merge(int arr[], int l, int m, int r) 
    { 
        int n1 = m - l + 1; 
        int n2 = r - m; 
        int L[] = new int [n1]; 
        int R[] = new int [n2]; 
        for (int i=0; i<n1; ++i) 
            L[i] = arr[l + i]; 
        for (int j=0; j<n2; ++j) 
            R[j] = arr[m + 1+ j]; 
        int i = 0, j = 0; 
        int k = l; 
        while (i < n1 && j < n2) 
        { 
            if (L[i] <= R[j]) 
            { 
                arr[k] = L[i]; 
                i++; 
            } 
            else
            { 
                arr[k] = R[j]; 
                j++; 
            } 
            k++; 
        } 
        while (i < n1) 
        { 
            arr[k] = L[i]; 
            i++; 
            k++; 
        } 
        while (j < n2) 
        { 
            arr[k] = R[j]; 
            j++; 
            k++; 
        } 
    } 
    static void sort(int arr[], int l, int r) 
    { 
        if (l < r) 
        { 
            int m = (l+r)/2; 
            sort(arr, l, m); 
            sort(arr , m+1, r); 
            merge(arr, l, m, r); 
        } 
    } 
    static int gcd(int a, int b) 
    { 
      if (b == 0) 
        return a; 
      return gcd(b, a % b);  
    } 
    static long power(long n,long m)
    {
    	if(m==0)
    		return 1;
    	long ans=1;
    	while(m>0)
    	{
    		ans=ans*n;
    		m--;
    	}
    	return ans;
    }
	static int binarySearch(ArrayList<Integer> arr, int x) 
    { 
        int l = 0, r = arr.size() - 1,m=l + (r - l) / 2; 
        while (l <= r) { 
            m = l + (r - l) / 2; 
            if (arr.get(m) == x) 
                return m; 
            if (arr.get(m) < x) 
                l = m + 1; 
            else
                r = m - 1; 
        } 
        return (int)Math.max(l, m); 
    } 
	public static void main(String args[])throws Exception
	{
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		int t=1;//Integer.parseInt(br.readLine());
	    for(int i=1;i<=t;i++)
	    {
	        double aa,bb,cc,dd;
	        String s=br.readLine();
	        String ss[]=s.split(" ");
	        aa=Integer.parseInt(ss[0]);
	        bb=Integer.parseInt(ss[1]);
	        cc=Integer.parseInt(ss[2]);
	        dd=Integer.parseInt(ss[3]);
	        if(Math.ceil(cc/bb)<=Math.ceil(aa/dd))
	        {
	        	System.out.println("Yes");
	        	return;
	        }
	        else
	        System.out.println("No");
	    }
	}
}
