#include <bits/stdc++.h>
using namespace std;

int main() {
    int n, k;
    cin >> n >> k;
    vector<int> a(n), lg(n), rg(n);
    for (int &x : a) cin >> x;
    lg[0] = 1;
    rg[n - 1] = 1;

    int ma = 0;
    for (int i = 0; i < n - 1; i++) {
        ma = max(ma, a[i]);
        if (a[i + 1] >= ma) rg[i] = 1;
    }

    int mi = n;
    for (int i = n - 1; i > 0; i--) {
        mi = min(mi, a[i]);
        if (a[i - 1] <= mi) lg[i] = 1;
    }

    int flag = 1;
    for (int i = 1; i < n - 1; i++) {
        if (flag && a[i - 1] <= a[i]) lg[i + 1] &= 1;
        else lg[i + 1] = flag = 0;
    }

    flag = 1;
    for (int i = n - 2; i > 0; i--) {
        if (flag && a[i] <= a[i + 1]) rg[i - 1] &= 1;
        else rg[i - 1] = flag = 0;
    }

    for (int i = k - 1; i < n; i++) {
        if (rg[i] && lg[i - k + 1]) {
            cout << "Yes\n";
            return 0;
        }
    }
    cout << "No\n";
}
