// Link ->
// Author -> Efat Sikder, IUBAT
#include "bits/stdc++.h"
using namespace std;
typedef long long int ll;
typedef unsigned long long l1;
typedef double db;
#define pi acos(-1)
#define prDouble(x, y) fixed << setprecision(y) << x
#define lcm(a, b) ((a * b) / __gcd(a, b))
#define fast_io \
ios_base::sync_with_stdio(false); \
cin.tie(NULL); \
cout.tie(NULL)
#define mm(x, v) memset((x), v, sizeof(x));
#define pb push_back
#define mp make_pair
#define ff first
#define ss second
#define nl << "\n"
#define debug(x) cout << #x << " = " << x nl
#define casePrint(ans, cn) cout << "Case " << cn << ": " << ans nl
void solve(int caseNumber)
{
ll n, k;
cin >> n >> k;
vector<ll> v(n + 5);
pair<ll, ll> range = {-1, -1};
for (ll i = 1; i <= n; i++)
cin >> v[i];
bool ans = true;
set<ll> s;
for (ll i = 1; i < n;)
{
if (v[i] > v[i + 1])
{
for (ll j = 0; j < k; j++)
{
s.insert(v[i + j]);
}
if (range.first == -1)
range = {i, i + k - 1};
for (auto x : s)
{
v[i] = x;
i++;
}
s.clear();
}
else
{
i++;
}
}
for (ll i = 1; i < n; i++)
{
if (v[i] > v[i + 1])
{
ans = false;
break;
}
}
if (ans)
cout << "YES\n";
else
cout << "NO\n";
if (ans)
{
cout << range.first << " " << range.second nl;
}
}
void init_code()
{
fast_io;
}
signed main()
{
init_code();
int testcase = 1;
// cin >> testcase;
for (int caseNumber = 1; caseNumber <= testcase; ++caseNumber)
{
solve(caseNumber);
}
return 0;
}