#include <bits/stdc++.h>
using namespace std;
int main() {
  int n;
  cin >> n;
  int ar[n + 1];
  for (int i = 0; i < n; i++) cin >> ar[i];
  int flag1 = 0, flag2 = 0;
  int one = 0, zero = 0, count1 = 0, count0 = 0, j = 0, k = 0;
  if (ar[0] == 0) {
    while (ar[j] != 1 && j != n) {
      count0++;
      j++;
    }
    while (ar[j] != 0 && j != n) {
      count1++;
      j++;
    }
  }
  if (ar[0] == 1) {
    while (ar[k] != 0 && k != n) {
      k++;
      count1++;
    }
    while (ar[k] != 1 && k != n) {
      k++;
      count0++;
    }
  }
  if (ar[0] == 0) one = count1;
  if (ar[0] == 1) zero = count0;
  if (count0 != count1 && count1 != 0 && count0 != 0) {
    cout << "No";
    exit(0);
  }
  for (int j = 0; j < n; j++) {
    if (ar[j] == 0) {
      flag2 = 0;
      if (flag1 == 0) {
        if (one != count1) {
          cout << "No";
          exit(0);
        }
        flag1 = 1;
      }
      one = 0;
      zero++;
    }
    if (ar[j] == 1) {
      flag1 = 0;
      if (flag2 == 0) {
        if (zero != count0) {
          cout << "No";
          exit(0);
        }
        flag2 = 1;
      }
      one++;
      zero = 0;
    }
  }
  if (ar[n - 1] == 0 && zero != count0) {
    cout << "No";
  } else if (ar[n - 1] == 1 && one != count1) {
    cout << "No";
  } else
    cout << "Yes";
  return 0;
}
