#include <bits/stdc++.h>
using namespace std;
stack<int> s;
int main() {
  int n, a, m = 0;
  bool f = 1;
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    scanf("%d", &a);
    m = max(m, a);
    if (s.size() == 0)
      s.push(a);
    else {
      if (s.top() > a)
        s.push(a);
      else if (s.top() == a)
        s.pop();
      else {
        f = 0;
        break;
      }
    }
  }
  if (f == 0)
    puts("NO");
  else {
    if (s.size() > 1 || (s.size() == 1 && s.top() != m))
      puts("NO");
    else
      puts("YES");
  }
  return 0;
}
