#include <bits/stdc++.h>
using namespace std;
#define all(x) (x).begin(), (x).end()
#define sz(x) (int) (x).size()
#define int long long
const int mod = 1e9 + 7, INF = 1e15 + 3, N = 2e5 + 2;
void solve(int cs){
int n, k; cin >> n >> k;
vector<int> v(n + 1);
for(int i = 1 ; i <= n ; i++){
cin >> v[i];
}
int l = INF, r = -1, cnt = 0;
for(int i = 1 ; i <= n ; i++){
if(v[i] != i){
l = min(l, min(i, v[i]));
r = max(r, max(i, v[i]));
}
}
if(l == INF){
cout<<"YES\n";
cout<<1<<' '<<1<<'\n';
}
else if(r - l + 1 <= k){
cout<<"YES\n";
cout<<l<<' '<<r<<'\n';
}
else cout<<"NO\n";
}
//It's now, or never.
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int TEST = 1;
//cin >> TEST;
for (int i = 1; i <= TEST; i++) {
// cout << "Case " << i << ":"<<'\n';
solve(i);
}
return 0;
}