#include<bits/stdc++.h>
using namespace std;
#define LEN 100005
typedef struct point{
int a, p;
bool operator < (const point& p) const{
return a < p.a;
}
}point;
point arr[LEN];
int main(){
int n;
while(~scanf("%d", &n)){
memset(arr, 0, sizeof(arr));
for(int i = 1; i <= n; i++){
scanf("%d", &arr[i].a);
arr[i].p = i;
}
sort(arr+1, arr+1+n);
int lpos = 1, rpos = 1;
bool f = true;
for(int i = 1; i <= n; i++)
if(arr[i].p != i){
lpos = i;
rpos = i;
break;
}
for(int i = lpos+1; i <= n; i++){
if(arr[i].p == arr[i-1].p-1) rpos = i;
else break;
}
for(int i = rpos+1; i <= n; i++)
if(arr[i].p != i){
f = false;
break;
}
if(f == false) puts("no");
else{
puts("yes");
printf("%d %d\n", lpos, rpos);
}
}
return 0;
}