#include <bits/stdc++.h>
using namespace std;
bool check1(int n, int a[]) {
  if (n == 1) return true;
  int data = a[0];
  for (int i = 1; i < n; i++) {
    if (a[i] != a[0]) return false;
  }
  return true;
}
bool check4(int n, int a[]) {
  int i, flag = 0, flag1 = 0, flag2 = 0, len = 0;
  for (i = 1; i < n; i++) {
    if (a[i - 1] < a[i] && flag == 0) len++;
    if (a[i - 1] == a[i] && flag1 == 0) {
      flag = 1;
      len++;
    }
    if (a[i - 1] > a[i] && flag2 == 0) {
      flag = 1;
      flag1 = 1;
      len++;
    }
  }
  if (len == (n - 1))
    return true;
  else
    return false;
}
int main() {
  int n;
  int a[1000];
  scanf("%d", &n);
  for (int i = 0; i < n; i++) scanf("%d", &a[i]);
  bool c1 = check1(n, a);
  bool c4 = check4(n, a);
  if (c1 || c4)
    printf("YES\n");
  else
    printf("NO\n");
  return 0;
}
