#include <bits/stdc++.h>
using namespace std;
int main() {
using ivector = vector<int>;
const auto generate = true;
const vector<string> ans = {"NO","YES"};
int N;
ivector A;
if (cin >> N, A.resize(N), generate) {
using namespace chrono;
using clock = high_resolution_clock;
const auto now = clock::now();
const auto time = now.time_since_epoch();
const auto seed = time.count();
mt19937_64 random(seed);
int max_value;
cin >> max_value;
cout << "Test:" << endl << N << endl;
uniform_int_distribution<int> uniform(1,max_value);
for (auto& elem: A) {
elem = uniform(random);
cout << elem << ' '; }
cout << endl << "Output:" << endl; }
else
for (auto& elem: A)
cin >> elem;
const auto good_array = [&](const int p) {
ivector a(A.cbegin(),A.cend());
const auto valid_parity = [&](int i) { return (a[i]&1) == p; };
const int last = N-1;
for (int i = 0; i < last; ++i)
if (!valid_parity(i))
++a[i], ++a[i+1];
return valid_parity(last); };
cout << ans[good_array(0) or good_array(1)];
return 0; }
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKICAgIHVzaW5nIGl2ZWN0b3IgPSB2ZWN0b3I8aW50PjsKICAgIGNvbnN0IGF1dG8gZ2VuZXJhdGUgPSB0cnVlOwogICAgY29uc3QgdmVjdG9yPHN0cmluZz4gYW5zID0geyJOTyIsIllFUyJ9OwogICAgaW50IE47CiAgICBpdmVjdG9yIEE7CiAgICBpZiAoY2luID4+IE4sIEEucmVzaXplKE4pLCBnZW5lcmF0ZSkgewogICAgICAgIHVzaW5nIG5hbWVzcGFjZSBjaHJvbm87CiAgICAgICAgdXNpbmcgY2xvY2sgPSBoaWdoX3Jlc29sdXRpb25fY2xvY2s7CiAgICAgICAgY29uc3QgYXV0byBub3cgPSBjbG9jazo6bm93KCk7CiAgICAgICAgY29uc3QgYXV0byB0aW1lID0gbm93LnRpbWVfc2luY2VfZXBvY2goKTsKICAgICAgICBjb25zdCBhdXRvIHNlZWQgPSB0aW1lLmNvdW50KCk7CiAgICAgICAgbXQxOTkzN182NCByYW5kb20oc2VlZCk7CiAgICAgICAgaW50IG1heF92YWx1ZTsKICAgICAgICBjaW4gPj4gbWF4X3ZhbHVlOwogICAgICAgIGNvdXQgPDwgIlRlc3Q6IiA8PCBlbmRsIDw8IE4gPDwgZW5kbDsKICAgICAgICB1bmlmb3JtX2ludF9kaXN0cmlidXRpb248aW50PiB1bmlmb3JtKDEsbWF4X3ZhbHVlKTsKICAgICAgICBmb3IgKGF1dG8mIGVsZW06IEEpIHsKICAgICAgICAgICAgZWxlbSA9IHVuaWZvcm0ocmFuZG9tKTsKICAgICAgICAgICAgY291dCA8PCBlbGVtIDw8ICcgJzsgfQogICAgICAgIGNvdXQgPDwgZW5kbCA8PCAiT3V0cHV0OiIgPDwgZW5kbDsgfQogICAgZWxzZQogICAgICAgIGZvciAoYXV0byYgZWxlbTogQSkKICAgICAgICAgICAgY2luID4+IGVsZW07CiAgICBjb25zdCBhdXRvIGdvb2RfYXJyYXkgPSBbJl0oY29uc3QgaW50IHApIHsKICAgICAgICBpdmVjdG9yIGEoQS5jYmVnaW4oKSxBLmNlbmQoKSk7CiAgICAgICAgY29uc3QgYXV0byB2YWxpZF9wYXJpdHkgPSBbJl0oaW50IGkpIHsgcmV0dXJuIChhW2ldJjEpID09IHA7IH07CiAgICAgICAgY29uc3QgaW50IGxhc3QgPSBOLTE7CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBsYXN0OyArK2kpCiAgICAgICAgICAgIGlmICghdmFsaWRfcGFyaXR5KGkpKQogICAgICAgICAgICAgICAgKythW2ldLCArK2FbaSsxXTsKICAgICAgICByZXR1cm4gdmFsaWRfcGFyaXR5KGxhc3QpOyB9OwogICAgY291dCA8PCBhbnNbZ29vZF9hcnJheSgwKSBvciBnb29kX2FycmF5KDEpXTsKICAgIHJldHVybiAwOyB9Cg==