// 🐋💭  Buy an Integer
import Foundation

func readInts() -> [Int] {
    return readLine()!.split(separator: " ").map { Int($0)! }
}

func readInt() -> Int {
    return Int(readLine()!)!
}

///最大公約数を返す
func gcd(_ m:Int, _ n:Int) -> Int {
    if n == 0 {return m}
    return gcd(n, m % n)
}

///素数判定(試し割り)
func isPrime(_ x:Int) -> Bool {
    if x <= 1 || x % 2 == 0 { return false }
    if x == 2 { return true }
    for i in stride(from: 3, to: Int(ceil(sqrt(Double(x)))), by: 2){
        if x % i == 0 {
            return false
        }
    }
    return true
}

//https://program-life.com/669
///実行速度の計測
func exectionTime(action: () -> Void) {
    let startDate = Date()
    action()
    let endDate = Date()
    print(endDate.timeIntervalSince(startDate))
}
// https://melheaven.hatenadiary.jp/entry/atcoder144
///約数の配列を返す
func makeDivisors(_ n:Int) -> [Int] {
    var divisors = [Int]()
    for i in 1..<Int(pow(Double(n), 0.5)) + 1 {
        if n % i == 0{
            divisors.append(i + n / i)
        }
    }
    
    return divisors
}

func main() {
    let nk = readInts()
    let (n, k) = (nk[0], nk[1])
    let aryScore = readInts()
    //___________________________ここまで入力
    
    var leftScore = 1
    var rightSocre = 1
    
    for i in 0...n - k {
        leftScore *= aryScore[i]
        rightSocre = leftScore
    }
    var right = k
    for i in 0...n - k - 1 {
        rightSocre /= aryScore[i]
        rightSocre *= aryScore[right]
        print(rightSocre > leftScore ? "Yes": "No")
        leftScore = rightSocre
        right += 1
    }
}
main()
