void main(){
	long n, k;
	readf("%d %d\n", &n, &k);
	long[] a = _scanln!long();
	long prev=1; // 前学期評定
	long val=1; // 前の評定を保持

	foreach(i; 0..k){
		prev *= a[i];
	}
	foreach(i; k..a.length){
		val = prev/a[i-k]*a[i];
		if(prev>=val){
			writeln("No");
			prev = val;
			continue;
		}
		writeln("Yes");
		prev = val;
	}
}

import std.stdio, std.conv, std.algorithm, std.numeric, std.string, std.math;

// 1要素のみの入力
T _scan(T= int)(){
	return to!(T)( readln().chomp() );
}

// 1行に同一型の複数入力
T[] _scanln(T = int)(){
	T[] ln;
	foreach(string elm; readln().chomp().split()){
		ln ~= elm.to!T();
	}
	return ln;
}
