Problem1550--CF831 - A. Unimodal Array

1550: CF831 - A. Unimodal Array

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

Array of integers isunimodal, if:
  • it is strictly increasing in the beginning;
  • after that it is constant;
  • after that it is strictly decreasing.
The first block (increasing) and the last block (decreasing) may be absent. It is allowed that both of this blocks are absent.
For example, the following three arrays are unimodal:[5,7,11,11,2,1],[4,4,2],[7], but the following three are not unimodal:[5,5,6,6,1],[1,2,1,2],[4,5,5,6].
Write a program that checks if an array is unimodal.

Input

The first line contains integer $n\ (1≤n≤100)$ − the number of elements in the array.

The second line contains $n$ integers $a_1,a_2,...,a_n\ (1≤a_i≤1000)$ − the elements of the array.

Output

Print "YES" if the given array is unimodal. Otherwise, print "NO".

Sample 1 Input

6
1 5 5 5 4 2

Sample 1 Output

YES
the array is unimodal, because it is strictly increasing in the beginning (from position 1 to position 2, inclusively), that it is constant (from position 2 to position 4, inclusively) and then it is strictly decreasing (from position 4 to position 6, inclusively).

Sample 2 Input

5
10 20 30 20 10

Sample 2 Output

YES

Sample 3 Input

4
1 2 1 2

Sample 3 Output

NO

7
3 3 3 3 3 3 3

YES

HINT

Source/Category