import
java.io.*;
class
GFG
{
public
static
boolean
ispossible(
int
arr[],
int
n)
{
int
[] possibility1 =
new
int
[n];
for
(
int
i =
0
; i < n; i++)
possibility1[i] = i + arr[
0
];
int
[] possibility2 =
new
int
[n];
for
(
int
i =
0
; i < n; i++)
possibility2[i] = i + arr[
0
] +
1
;
int
[] possibility3 =
new
int
[n];
for
(
int
i =
0
; i < n; i++)
possibility3[i] = i + arr[
0
] -
1
;
Boolean canposs1 =
true
, canposs2 =
true
;
Boolean canposs3 =
true
;
for
(
int
i =
0
; i < n; i++) {
if
(Math.abs(possibility1[i] - arr[i]) >
1
) {
canposs1 =
false
;
break
;
}
}
for
(
int
i =
0
; i < n; i++) {
if
(Math.abs(possibility2[i] - arr[i]) >
1
) {
canposs2 =
false
;
break
;
}
}
for
(
int
i =
0
; i < n; i++) {
if
(Math.abs(possibility3[i] - arr[i]) >
1
) {
canposs3 =
false
;
break
;
}
}
if
(canposs1 || canposs2 || canposs3) {
return
true
;
}
return
false
;
}
public
static
void
main (String[] args)
{
int
N =
4
;
int
arr[] = {
1
,
2
,
3
,
7
};
if
(ispossible(arr, N)) {
System.out.print(
"YES"
);
}
else
{
System.out.print(
"NO"
);
}
}
}