#include <bits/stdc++.h>
using namespace std;
const int tx[] = {111, 0, 1, 1, 1, 0, -1, -1, -1};
const int ty[] = {111, 1, 1, 0, -1, -1, -1, 0, 1};
bool us[1005][1005];
long long ans, x, y, l, r, z, c[35], n, i, j, k, m;
set<pair<pair<int, int>, int> > q1, q2;
pair<pair<int, int>, int> to1, to2, a;
int main() {
  cin >> n;
  for (i = 1; i <= n; ++i) cin >> c[i];
  a.first.first = 500;
  a.first.second = 500;
  a.second = 1;
  q1.insert(a);
  us[500][500] = 1;
  ans = 1;
  for (i = 1; i <= n; ++i) {
    for (j = 1; j < c[i]; ++j) {
      if (m == 0) {
        while (!q1.empty()) {
          a = *q1.begin();
          q1.erase(q1.begin());
          x = a.second;
          a.first.first += tx[x];
          a.first.second += ty[x];
          if (!us[a.first.first][a.first.second]) {
            ans++;
            us[a.first.first][a.first.second] = 1;
          }
          q2.insert(a);
        }
        m = 1;
      } else {
        while (!q2.empty()) {
          a = *q2.begin();
          q2.erase(q2.begin());
          x = a.second;
          a.first.first += tx[x];
          a.first.second += ty[x];
          if (!us[a.first.first][a.first.second]) {
            ans++;
            us[a.first.first][a.first.second] = 1;
          }
          q1.insert(a);
        }
        m = 0;
      }
    }
    if (i == n) break;
    if (m == 0) {
      while (!q1.empty()) {
        a = *q1.begin();
        q1.erase(q1.begin());
        if (a.second == 1) {
          to1 = make_pair(make_pair(a.first.first - 1, a.first.second + 1), 8);
          to2 = make_pair(make_pair(a.first.first + 1, a.first.second + 1), 2);
        }
        if (a.second == 2) {
          to1 = make_pair(make_pair(a.first.first, a.first.second + 1), 1);
          to2 = make_pair(make_pair(a.first.first + 1, a.first.second), 3);
        }
        if (a.second == 3) {
          to1 = make_pair(make_pair(a.first.first + 1, a.first.second + 1), 2);
          to2 = make_pair(make_pair(a.first.first + 1, a.first.second - 1), 4);
        }
        if (a.second == 4) {
          to1 = make_pair(make_pair(a.first.first + 1, a.first.second), 3);
          to2 = make_pair(make_pair(a.first.first, a.first.second - 1), 5);
        }
        if (a.second == 5) {
          to1 = make_pair(make_pair(a.first.first + 1, a.first.second - 1), 4);
          to2 = make_pair(make_pair(a.first.first - 1, a.first.second - 1), 6);
        }
        if (a.second == 6) {
          to1 = make_pair(make_pair(a.first.first, a.first.second - 1), 5);
          to2 = make_pair(make_pair(a.first.first - 1, a.first.second), 7);
        }
        if (a.second == 7) {
          to1 = make_pair(make_pair(a.first.first - 1, a.first.second - 1), 6);
          to2 = make_pair(make_pair(a.first.first - 1, a.first.second + 1), 8);
        }
        if (a.second == 8) {
          to1 = make_pair(make_pair(a.first.first - 1, a.first.second), 7);
          to2 = make_pair(make_pair(a.first.first, a.first.second + 1), 1);
        }
        if (!us[to1.first.first][to1.first.second]) {
          ans++;
          us[to1.first.first][to1.first.second] = 1;
        }
        if (!us[to2.first.first][to2.first.second]) {
          ans++;
          us[to2.first.first][to2.first.second] = 1;
        }
        q2.insert(to1);
        q2.insert(to2);
      }
      m = 1;
    } else {
      while (!q2.empty()) {
        a = *q2.begin();
        q2.erase(q2.begin());
        if (a.second == 1) {
          to1 = make_pair(make_pair(a.first.first - 1, a.first.second + 1), 8);
          to2 = make_pair(make_pair(a.first.first + 1, a.first.second + 1), 2);
        }
        if (a.second == 2) {
          to1 = make_pair(make_pair(a.first.first, a.first.second + 1), 1);
          to2 = make_pair(make_pair(a.first.first + 1, a.first.second), 3);
        }
        if (a.second == 3) {
          to1 = make_pair(make_pair(a.first.first + 1, a.first.second + 1), 2);
          to2 = make_pair(make_pair(a.first.first + 1, a.first.second - 1), 4);
        }
        if (a.second == 4) {
          to1 = make_pair(make_pair(a.first.first + 1, a.first.second), 3);
          to2 = make_pair(make_pair(a.first.first, a.first.second - 1), 5);
        }
        if (a.second == 5) {
          to1 = make_pair(make_pair(a.first.first + 1, a.first.second - 1), 4);
          to2 = make_pair(make_pair(a.first.first - 1, a.first.second - 1), 6);
        }
        if (a.second == 6) {
          to1 = make_pair(make_pair(a.first.first, a.first.second - 1), 5);
          to2 = make_pair(make_pair(a.first.first - 1, a.first.second), 7);
        }
        if (a.second == 7) {
          to1 = make_pair(make_pair(a.first.first - 1, a.first.second - 1), 6);
          to2 = make_pair(make_pair(a.first.first - 1, a.first.second + 1), 8);
        }
        if (a.second == 8) {
          to1 = make_pair(make_pair(a.first.first - 1, a.first.second), 7);
          to2 = make_pair(make_pair(a.first.first, a.first.second + 1), 1);
        }
        if (!us[to1.first.first][to1.first.second]) {
          ans++;
          us[to1.first.first][to1.first.second] = 1;
        }
        if (!us[to2.first.first][to2.first.second]) {
          ans++;
          us[to2.first.first][to2.first.second] = 1;
        }
        q1.insert(to1);
        q1.insert(to2);
      }
      m = 0;
    }
  }
  cout << ans;
}
