#include <cstdio>

int readint() {
	int res = 0;
	char c = getchar_unlocked();
	while ('0' <= c && c <= '9') {
		res = res * 10 + int(c - '0');
		c = getchar_unlocked();
	}
	return res;
}

int main() {
	int N = readint();
	int X = readint();
	int M = readint();
	int p[32];
	for (int i = 0; i < 32; i++) {
		p[i] = 0;
	}
	for (int i = 1; i <= N; i++) {
		int a = readint();
		if (a >= X) {
			p[__builtin_clz(a / X)] = i;
		}
	}
	int cost = 0;
	for (int i = 1; i <= 31; i++) {
		p[i] = (p[i] > p[i - 1] ? p[i] : p[i - 1]);
		cost += p[i];
	}
	printf(cost <= M ? "Yes\n" : "No\n");
	return 0;
}