#include <bits/stdc++.h>
using namespace std;
int n, x, y, t, w, mx, d[300000];
int main() {
  scanf("%d", &n);
  scanf("%d", &x);
  mx = x;
  w = 1;
  for (int i = (2); i <= (n); ++i) {
    y = x;
    scanf("%d", &x);
    mx = max(x, mx);
    if (x != y) {
      if (w) {
        if (x > y) {
          printf("NO\n");
          return 0;
        } else
          d[++t] = y;
      } else {
        if (t && x > d[t]) {
          printf("NO\n");
          return 0;
        }
        if (t && d[t] == x)
          --t, w = 0;
        else
          w = 1;
      }
    } else
      w ^= 1;
  }
  if (w) d[++t] = x;
  if (t && d[t] < mx)
    printf("NO\n");
  else
    printf("YES\n");
}
