import java.io.*;
import java.util.*;

//Main class start
public class Main {
    // solution starts here!!!
    public void solve() throws IOException {
        int a = in.ni();
        int b = in.ni();
        int c = in.ni();
        int d = in.ni();
    


        while(true){
            c = c - b;
            a = a - d;
            if(c<=0) {out.println("Yes");break;}
            else if(a<=0) {out.println("No");break;}

        }





    } //Solution ENDS Here !!!

    FastScanner in;
    FastWriter out;
    long maxLong = Long.MAX_VALUE  ,  minlong = Long.MIN_VALUE;
    int maxInt = Integer.MAX_VALUE ,  minInt = Integer.MIN_VALUE;
    double PI = 3.141592653589793238462643383279502884197169399;
    int digit(long s){int ans = 0;while(s>0){s/=10;ans++;}return ans;}
    long gcd(long a, long b){return (b==0)?a:gcd(b,a%b);}
    int gcd(int a, int b){return (b==0)?a:gcd(b,a%b);}
    int bit(long n){return (n==0)?0:(1+bit(n&(n-1)));}

    public void run() {
        try {
            in = new FastScanner();
            out = new FastWriter();

            solve();

            out.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }


    class FastWriter extends PrintWriter {
        FastWriter() throws FileNotFoundException {
            super(System.out);
        }

        void printNext(int i) {
            print(i);
            print(' ');
        }

        void printNext(long i) {
            print(i);
            print(' ');
        }

        void printNext(char ch) {
            print(ch);
            print(' ');
        }


        <T extends Iterable<Integer>> void printIterable(T o) {
            for (Integer t : o) {
                printNext(t);
            }
        }

        void printlnArray(int[] a) {
            for (int i : a) {
                printNext(i);
            }
            println();
        }

        void printlnArray(long[] a) {
            for (long i : a) {
                printNext(i);
            }
            println();
        }


    }

    class FastScanner {
        BufferedReader br;
        StringTokenizer st;


        boolean ready() throws IOException {
            return (br.ready() || st.hasMoreTokens());
        }

        FastScanner() {
            br = new BufferedReader(new InputStreamReader(System.in));
        }

        String next() {
            while (st == null || !st.hasMoreTokens()) {
                try {
                    st = new StringTokenizer(br.readLine());
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return st.nextToken();
        }
        char nc(){
            return next().charAt(0);
        }

        double nd(){
            return Double.parseDouble(next());
        }

        int ni() {
            return Integer.parseInt(next());
        }

        long nl() {
            return Long.parseLong(next());
        }

    }

    public static void main(String[] arg) {
        new Main().run();
    }
} import java.io.*; io.* java import java.util.*; util.* java public class Main {
    // solution starts here!!!
    public void solve() throws IOException {
        int a = in.ni();
        int b = in.ni();
        int c = in.ni();
        int d = in.ni();
    


        while(true){
            c = c - b;
            a = a - d;
            if(c<=0) {out.println("Yes");break;}
            else if(a<=0) {out.println("No");break;}

        }





    } //Solution ENDS Here !!!

    FastScanner in;
    FastWriter out;
    long maxLong = Long.MAX_VALUE  ,  minlong = Long.MIN_VALUE;
    int maxInt = Integer.MAX_VALUE ,  minInt = Integer.MIN_VALUE;
    double PI = 3.141592653589793238462643383279502884197169399;
    int digit(long s){int ans = 0;while(s>0){s/=10;ans++;}return ans;}
    long gcd(long a, long b){return (b==0)?a:gcd(b,a%b);}
    int gcd(int a, int b){return (b==0)?a:gcd(b,a%b);}
    int bit(long n){return (n==0)?0:(1+bit(n&(n-1)));}

    public void run() {
        try {
            in = new FastScanner();
            out = new FastWriter();

            solve();

            out.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }


    class FastWriter extends PrintWriter {
        FastWriter() throws FileNotFoundException {
            super(System.out);
        }

        void printNext(int i) {
            print(i);
            print(' ');
        }

        void printNext(long i) {
            print(i);
            print(' ');
        }

        void printNext(char ch) {
            print(ch);
            print(' ');
        }


        <T extends Iterable<Integer>> void printIterable(T o) {
            for (Integer t : o) {
                printNext(t);
            }
        }

        void printlnArray(int[] a) {
            for (int i : a) {
                printNext(i);
            }
            println();
        }

        void printlnArray(long[] a) {
            for (long i : a) {
                printNext(i);
            }
            println();
        }


    }

    class FastScanner {
        BufferedReader br;
        StringTokenizer st;


        boolean ready() throws IOException {
            return (br.ready() || st.hasMoreTokens());
        }

        FastScanner() {
            br = new BufferedReader(new InputStreamReader(System.in));
        }

        String next() {
            while (st == null || !st.hasMoreTokens()) {
                try {
                    st = new StringTokenizer(br.readLine());
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return st.nextToken();
        }
        char nc(){
            return next().charAt(0);
        }

        double nd(){
            return Double.parseDouble(next());
        }

        int ni() {
            return Integer.parseInt(next());
        }

        long nl() {
            return Long.parseLong(next());
        }

    }

    public static void main(String[] arg) {
        new Main().run();
    }
} Main FastScanner in; in FastWriter out; out long maxLong = Long.MAX_VALUE maxLong Long.MAX_VALUE Long Long.MAX_VALUE minlong = Long.MIN_VALUE; minlong Long.MIN_VALUE Long Long.MIN_VALUE int maxInt = Integer.MAX_VALUE maxInt Integer.MAX_VALUE Integer Integer.MAX_VALUE minInt = Integer.MIN_VALUE; minInt Integer.MIN_VALUE Integer Integer.MIN_VALUE double PI = 3.141592653589793238462643383279502884197169399; PI 3.141592653589793238462643383279502884197169399 // solution starts here!!!
    public void solve() throws IOException {
        int a = in.ni();
        int b = in.ni();
        int c = in.ni();
        int d = in.ni();
    


        while(true){
            c = c - b;
            a = a - d;
            if(c<=0) {out.println("Yes");break;}
            else if(a<=0) {out.println("No");break;}

        }





    } //Solution ENDS Here !!! solve {
        int a = in.ni();
        int b = in.ni();
        int c = in.ni();
        int d = in.ni();
    


        while(true){
            c = c - b;
            a = a - d;
            if(c<=0) {out.println("Yes");break;}
            else if(a<=0) {out.println("No");break;}

        }





    } int a = in.ni(); a in.ni() in.ni in int b = in.ni(); b in.ni() in.ni in int c = in.ni(); c in.ni() in.ni in int d = in.ni(); d in.ni() in.ni in while(true){
            c = c - b;
            a = a - d;
            if(c<=0) {out.println("Yes");break;}
            else if(a<=0) {out.println("No");break;}

        } true {
            c = c - b;
            a = a - d;
            if(c<=0) {out.println("Yes");break;}
            else if(a<=0) {out.println("No");break;}

        } c = c - b c c - b c b a = a - d a a - d a d if(c<=0) {out.println("Yes");break;}
            else if(a<=0) {out.println("No");break;} c<=0 c 0 {out.println("Yes");break;} out.println("Yes") out.println out "Yes" break; if(a<=0) {out.println("No");break;} a<=0 a 0 {out.println("No");break;} out.println("No") out.println out "No" break; int digit(long s){int ans = 0;while(s>0){s/=10;ans++;}return ans;} digit {int ans = 0;while(s>0){s/=10;ans++;}return ans;} int ans = 0; ans 0 while(s>0){s/=10;ans++;} s>0 s 0 {s/=10;ans++;} s/=10 s 10 ans++ ans return ans; ans long s s long gcd(long a, long b){return (b==0)?a:gcd(b,a%b);} gcd {return (b==0)?a:gcd(b,a%b);} return (b==0)?a:gcd(b,a%b); (b==0)?a:gcd(b,a%b) (b==0) b 0 a gcd(b,a%b) gcd b a%b a b long a a long b b int gcd(int a, int b){return (b==0)?a:gcd(b,a%b);} gcd {return (b==0)?a:gcd(b,a%b);} return (b==0)?a:gcd(b,a%b); (b==0)?a:gcd(b,a%b) (b==0) b 0 a gcd(b,a%b) gcd b a%b a b int a a int b b int bit(long n){return (n==0)?0:(1+bit(n&(n-1)));} bit {return (n==0)?0:(1+bit(n&(n-1)));} return (n==0)?0:(1+bit(n&(n-1))); (n==0)?0:(1+bit(n&(n-1))) (n==0) n 0 0 (1+bit(n&(n-1))) 1 bit(n&(n-1)) bit n&(n-1) n (n-1) n 1 long n n public void run() {
        try {
            in = new FastScanner();
            out = new FastWriter();

            solve();

            out.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    } run {
        try {
            in = new FastScanner();
            out = new FastWriter();

            solve();

            out.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    } try {
            in = new FastScanner();
            out = new FastWriter();

            solve();

            out.close();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } IOException e {
            e.printStackTrace();
        } e.printStackTrace() e.printStackTrace e {
            in = new FastScanner();
            out = new FastWriter();

            solve();

            out.close();
        } in = new FastScanner() in new FastScanner() out = new FastWriter() out new FastWriter() solve() solve out.close() out.close out public static void main(String[] arg) {
        new Main().run();
    } main {
        new Main().run();
    } new Main().run() new Main().run new Main() String[] arg arg class FastWriter extends PrintWriter {
        FastWriter() throws FileNotFoundException {
            super(System.out);
        }

        void printNext(int i) {
            print(i);
            print(' ');
        }

        void printNext(long i) {
            print(i);
            print(' ');
        }

        void printNext(char ch) {
            print(ch);
            print(' ');
        }


        <T extends Iterable<Integer>> void printIterable(T o) {
            for (Integer t : o) {
                printNext(t);
            }
        }

        void printlnArray(int[] a) {
            for (int i : a) {
                printNext(i);
            }
            println();
        }

        void printlnArray(long[] a) {
            for (long i : a) {
                printNext(i);
            }
            println();
        }


    } FastWriter FastWriter() throws FileNotFoundException {
            super(System.out);
        } FastWriter {
            super(System.out);
        } super(System.out) super System.out System System.out void printNext(int i) {
            print(i);
            print(' ');
        } printNext {
            print(i);
            print(' ');
        } print(i) print i print(' ') print ' ' int i i void printNext(long i) {
            print(i);
            print(' ');
        } printNext {
            print(i);
            print(' ');
        } print(i) print i print(' ') print ' ' long i i void printNext(char ch) {
            print(ch);
            print(' ');
        } printNext {
            print(ch);
            print(' ');
        } print(ch) print ch print(' ') print ' ' char ch ch <T extends Iterable<Integer>> void printIterable(T o) {
            for (Integer t : o) {
                printNext(t);
            }
        } printIterable {
            for (Integer t : o) {
                printNext(t);
            }
        } for (Integer t : o) {
                printNext(t);
            } Integer t o {
                printNext(t);
            } {
                printNext(t);
            } printNext(t) printNext t T o o void printlnArray(int[] a) {
            for (int i : a) {
                printNext(i);
            }
            println();
        } printlnArray {
            for (int i : a) {
                printNext(i);
            }
            println();
        } for (int i : a) {
                printNext(i);
            } int i a {
                printNext(i);
            } {
                printNext(i);
            } printNext(i) printNext i println() println int[] a a void printlnArray(long[] a) {
            for (long i : a) {
                printNext(i);
            }
            println();
        } printlnArray {
            for (long i : a) {
                printNext(i);
            }
            println();
        } for (long i : a) {
                printNext(i);
            } long i a {
                printNext(i);
            } {
                printNext(i);
            } printNext(i) printNext i println() println long[] a a PrintWriter class FastScanner {
        BufferedReader br;
        StringTokenizer st;


        boolean ready() throws IOException {
            return (br.ready() || st.hasMoreTokens());
        }

        FastScanner() {
            br = new BufferedReader(new InputStreamReader(System.in));
        }

        String next() {
            while (st == null || !st.hasMoreTokens()) {
                try {
                    st = new StringTokenizer(br.readLine());
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return st.nextToken();
        }
        char nc(){
            return next().charAt(0);
        }

        double nd(){
            return Double.parseDouble(next());
        }

        int ni() {
            return Integer.parseInt(next());
        }

        long nl() {
            return Long.parseLong(next());
        }

    } FastScanner BufferedReader br; br StringTokenizer st; st boolean ready() throws IOException {
            return (br.ready() || st.hasMoreTokens());
        } ready {
            return (br.ready() || st.hasMoreTokens());
        } return (br.ready() || st.hasMoreTokens()); (br.ready() || st.hasMoreTokens()) br.ready() br.ready br st.hasMoreTokens() st.hasMoreTokens st FastScanner() {
            br = new BufferedReader(new InputStreamReader(System.in));
        } FastScanner {
            br = new BufferedReader(new InputStreamReader(System.in));
        } br = new BufferedReader(new InputStreamReader(System.in)) br new BufferedReader(new InputStreamReader(System.in)) String next() {
            while (st == null || !st.hasMoreTokens()) {
                try {
                    st = new StringTokenizer(br.readLine());
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return st.nextToken();
        } next {
            while (st == null || !st.hasMoreTokens()) {
                try {
                    st = new StringTokenizer(br.readLine());
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return st.nextToken();
        } while (st == null || !st.hasMoreTokens()) {
                try {
                    st = new StringTokenizer(br.readLine());
                } catch (IOException e) {
                    e.printStackTrace();
                }
            } st == null || !st.hasMoreTokens() st == null st null !st.hasMoreTokens() st.hasMoreTokens() st.hasMoreTokens st {
                try {
                    st = new StringTokenizer(br.readLine());
                } catch (IOException e) {
                    e.printStackTrace();
                }
            } try {
                    st = new StringTokenizer(br.readLine());
                } catch (IOException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                } IOException e {
                    e.printStackTrace();
                } e.printStackTrace() e.printStackTrace e {
                    st = new StringTokenizer(br.readLine());
                } st = new StringTokenizer(br.readLine()) st new StringTokenizer(br.readLine()) return st.nextToken(); st.nextToken() st.nextToken st char nc(){
            return next().charAt(0);
        } nc {
            return next().charAt(0);
        } return next().charAt(0); next().charAt(0) next().charAt next() next 0 double nd(){
            return Double.parseDouble(next());
        } nd {
            return Double.parseDouble(next());
        } return Double.parseDouble(next()); Double.parseDouble(next()) Double.parseDouble Double next() next int ni() {
            return Integer.parseInt(next());
        } ni {
            return Integer.parseInt(next());
        } return Integer.parseInt(next()); Integer.parseInt(next()) Integer.parseInt Integer next() next long nl() {
            return Long.parseLong(next());
        } nl {
            return Long.parseLong(next());
        } return Long.parseLong(next()); Long.parseLong(next()) Long.parseLong Long next() next public class Main {
    // solution starts here!!!
    public void solve() throws IOException {
        int a = in.ni();
        int b = in.ni();
        int c = in.ni();
        int d = in.ni();
    


        while(true){
            c = c - b;
            a = a - d;
            if(c<=0) {out.println("Yes");break;}
            else if(a<=0) {out.println("No");break;}

        }





    } //Solution ENDS Here !!!

    FastScanner in;
    FastWriter out;
    long maxLong = Long.MAX_VALUE  ,  minlong = Long.MIN_VALUE;
    int maxInt = Integer.MAX_VALUE ,  minInt = Integer.MIN_VALUE;
    double PI = 3.141592653589793238462643383279502884197169399;
    int digit(long s){int ans = 0;while(s>0){s/=10;ans++;}return ans;}
    long gcd(long a, long b){return (b==0)?a:gcd(b,a%b);}
    int gcd(int a, int b){return (b==0)?a:gcd(b,a%b);}
    int bit(long n){return (n==0)?0:(1+bit(n&(n-1)));}

    public void run() {
        try {
            in = new FastScanner();
            out = new FastWriter();

            solve();

            out.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }


    class FastWriter extends PrintWriter {
        FastWriter() throws FileNotFoundException {
            super(System.out);
        }

        void printNext(int i) {
            print(i);
            print(' ');
        }

        void printNext(long i) {
            print(i);
            print(' ');
        }

        void printNext(char ch) {
            print(ch);
            print(' ');
        }


        <T extends Iterable<Integer>> void printIterable(T o) {
            for (Integer t : o) {
                printNext(t);
            }
        }

        void printlnArray(int[] a) {
            for (int i : a) {
                printNext(i);
            }
            println();
        }

        void printlnArray(long[] a) {
            for (long i : a) {
                printNext(i);
            }
            println();
        }


    }

    class FastScanner {
        BufferedReader br;
        StringTokenizer st;


        boolean ready() throws IOException {
            return (br.ready() || st.hasMoreTokens());
        }

        FastScanner() {
            br = new BufferedReader(new InputStreamReader(System.in));
        }

        String next() {
            while (st == null || !st.hasMoreTokens()) {
                try {
                    st = new StringTokenizer(br.readLine());
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return st.nextToken();
        }
        char nc(){
            return next().charAt(0);
        }

        double nd(){
            return Double.parseDouble(next());
        }

        int ni() {
            return Integer.parseInt(next());
        }

        long nl() {
            return Long.parseLong(next());
        }

    }

    public static void main(String[] arg) {
        new Main().run();
    }
} public class Main {
    // solution starts here!!!
    public void solve() throws IOException {
        int a = in.ni();
        int b = in.ni();
        int c = in.ni();
        int d = in.ni();
    


        while(true){
            c = c - b;
            a = a - d;
            if(c<=0) {out.println("Yes");break;}
            else if(a<=0) {out.println("No");break;}

        }





    } //Solution ENDS Here !!!

    FastScanner in;
    FastWriter out;
    long maxLong = Long.MAX_VALUE  ,  minlong = Long.MIN_VALUE;
    int maxInt = Integer.MAX_VALUE ,  minInt = Integer.MIN_VALUE;
    double PI = 3.141592653589793238462643383279502884197169399;
    int digit(long s){int ans = 0;while(s>0){s/=10;ans++;}return ans;}
    long gcd(long a, long b){return (b==0)?a:gcd(b,a%b);}
    int gcd(int a, int b){return (b==0)?a:gcd(b,a%b);}
    int bit(long n){return (n==0)?0:(1+bit(n&(n-1)));}

    public void run() {
        try {
            in = new FastScanner();
            out = new FastWriter();

            solve();

            out.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }


    class FastWriter extends PrintWriter {
        FastWriter() throws FileNotFoundException {
            super(System.out);
        }

        void printNext(int i) {
            print(i);
            print(' ');
        }

        void printNext(long i) {
            print(i);
            print(' ');
        }

        void printNext(char ch) {
            print(ch);
            print(' ');
        }


        <T extends Iterable<Integer>> void printIterable(T o) {
            for (Integer t : o) {
                printNext(t);
            }
        }

        void printlnArray(int[] a) {
            for (int i : a) {
                printNext(i);
            }
            println();
        }

        void printlnArray(long[] a) {
            for (long i : a) {
                printNext(i);
            }
            println();
        }


    }

    class FastScanner {
        BufferedReader br;
        StringTokenizer st;


        boolean ready() throws IOException {
            return (br.ready() || st.hasMoreTokens());
        }

        FastScanner() {
            br = new BufferedReader(new InputStreamReader(System.in));
        }

        String next() {
            while (st == null || !st.hasMoreTokens()) {
                try {
                    st = new StringTokenizer(br.readLine());
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return st.nextToken();
        }
        char nc(){
            return next().charAt(0);
        }

        double nd(){
            return Double.parseDouble(next());
        }

        int ni() {
            return Integer.parseInt(next());
        }

        long nl() {
            return Long.parseLong(next());
        }

    }

    public static void main(String[] arg) {
        new Main().run();
    }
} Main
import java.io.*;
import java.util.*;

//Main class start
public class Main {
    // solution starts here!!!
    public void solve() throws IOException {
        int a = in.ni();
        int b = in.ni();
        int c = in.ni();
        int d = in.ni();
    


        while(true){
            c = c - b;
            a = a - d;
            if(c<=0) {out.println("Yes");break;}
            else if(a<=0) {out.println("No");break;}

        }





    } //Solution ENDS Here !!!

    FastScanner in;
    FastWriter out;
    long maxLong = Long.MAX_VALUE  ,  minlong = Long.MIN_VALUE;
    int maxInt = Integer.MAX_VALUE ,  minInt = Integer.MIN_VALUE;
    double PI = 3.141592653589793238462643383279502884197169399;
    int digit(long s){int ans = 0;while(s>0){s/=10;ans++;}return ans;}
    long gcd(long a, long b){return (b==0)?a:gcd(b,a%b);}
    int gcd(int a, int b){return (b==0)?a:gcd(b,a%b);}
    int bit(long n){return (n==0)?0:(1+bit(n&(n-1)));}

    public void run() {
        try {
            in = new FastScanner();
            out = new FastWriter();

            solve();

            out.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }


    class FastWriter extends PrintWriter {
        FastWriter() throws FileNotFoundException {
            super(System.out);
        }

        void printNext(int i) {
            print(i);
            print(' ');
        }

        void printNext(long i) {
            print(i);
            print(' ');
        }

        void printNext(char ch) {
            print(ch);
            print(' ');
        }


        <T extends Iterable<Integer>> void printIterable(T o) {
            for (Integer t : o) {
                printNext(t);
            }
        }

        void printlnArray(int[] a) {
            for (int i : a) {
                printNext(i);
            }
            println();
        }

        void printlnArray(long[] a) {
            for (long i : a) {
                printNext(i);
            }
            println();
        }


    }

    class FastScanner {
        BufferedReader br;
        StringTokenizer st;


        boolean ready() throws IOException {
            return (br.ready() || st.hasMoreTokens());
        }

        FastScanner() {
            br = new BufferedReader(new InputStreamReader(System.in));
        }

        String next() {
            while (st == null || !st.hasMoreTokens()) {
                try {
                    st = new StringTokenizer(br.readLine());
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return st.nextToken();
        }
        char nc(){
            return next().charAt(0);
        }

        double nd(){
            return Double.parseDouble(next());
        }

        int ni() {
            return Integer.parseInt(next());
        }

        long nl() {
            return Long.parseLong(next());
        }

    }

    public static void main(String[] arg) {
        new Main().run();
    }
}
