import java.util.Arrays; import java.util.Scanner; import java.util.concurrent.SynchronousQueue; class Main { int N, M; int[] X, Y; public static void main(String[] args) { new Main().run(); } void run() { Scanner sc = new Scanner(System.in); double X = sc.nextDouble(); double Y = sc.nextDouble(); int N = sc.nextInt(); double[] A = new double[N]; double[] tX = new double[N]; double[] tY = new double[N]; for (int i = 0; i < N; ++i) { A[i] = sc.nextDouble(); tX[i] = A[i] / X; tY[i] = A[i] / Y; } boolean f = true; for (int i = 0; i + 1 < N; ++i) { if (tX[i] > tY[i + 1]) { f = false; } } if (f) { System.out.println("YES"); } else { System.out.println("NO"); } } static void tr(Object... objects) { System.out.println(Arrays.deepToString(objects)); } }