#include <bits/stdc++.h>
using namespace std;
bool vis[305][305], a[305][305][30][8][5];
int t[30], n, dx, dy, ans, d[8][2] = {{1, 0}, {-1, 0}, {0, 1},  {0, -1},
                                      {1, 1}, {1, -1}, {-1, 1}, {-1, -1}};
void Dfs(int x, int y, int ct, int p, int tot) {
  a[x][y][ct][p][tot] = true;
  if (!vis[x][y]) vis[x][y] = true, ++ans;
  if (tot) {
    dx = x + d[p][0];
    dy = y + d[p][1];
    if (!a[dx][dy][ct][p][tot - 1]) Dfs(dx, dy, ct, p, tot - 1);
  } else if (ct + 1 < n) {
    ++ct;
    if (p == 0) {
      p = 4;
      dx = x + d[p][0];
      dy = y + d[p][1];
      if (!a[dx][dy][ct][p][t[ct] - 1]) Dfs(dx, dy, ct, p, t[ct] - 1);
      p = 5;
      dx = x + d[p][0];
      dy = y + d[p][1];
      if (!a[dx][dy][ct][p][t[ct] - 1]) Dfs(dx, dy, ct, p, t[ct] - 1);
    } else if (p == 1) {
      p = 6;
      dx = x + d[p][0];
      dy = y + d[p][1];
      if (!a[dx][dy][ct][p][t[ct] - 1]) Dfs(dx, dy, ct, p, t[ct] - 1);
      p = 7;
      dx = x + d[p][0];
      dy = y + d[p][1];
      if (!a[dx][dy][ct][p][t[ct] - 1]) Dfs(dx, dy, ct, p, t[ct] - 1);
    } else if (p == 2) {
      p = 4;
      dx = x + d[p][0];
      dy = y + d[p][1];
      if (!a[dx][dy][ct][p][t[ct] - 1]) Dfs(dx, dy, ct, p, t[ct] - 1);
      p = 6;
      dx = x + d[p][0];
      dy = y + d[p][1];
      if (!a[dx][dy][ct][p][t[ct] - 1]) Dfs(dx, dy, ct, p, t[ct] - 1);
    } else if (p == 3) {
      p = 5;
      dx = x + d[p][0];
      dy = y + d[p][1];
      if (!a[dx][dy][ct][p][t[ct] - 1]) Dfs(dx, dy, ct, p, t[ct] - 1);
      p = 7;
      dx = x + d[p][0];
      dy = y + d[p][1];
      if (!a[dx][dy][ct][p][t[ct] - 1]) Dfs(dx, dy, ct, p, t[ct] - 1);
    } else if (p == 4) {
      p = 0;
      dx = x + d[p][0];
      dy = y + d[p][1];
      if (!a[dx][dy][ct][p][t[ct] - 1]) Dfs(dx, dy, ct, p, t[ct] - 1);
      p = 2;
      dx = x + d[p][0];
      dy = y + d[p][1];
      if (!a[dx][dy][ct][p][t[ct] - 1]) Dfs(dx, dy, ct, p, t[ct] - 1);
    } else if (p == 5) {
      p = 0;
      dx = x + d[p][0];
      dy = y + d[p][1];
      if (!a[dx][dy][ct][p][t[ct] - 1]) Dfs(dx, dy, ct, p, t[ct] - 1);
      p = 3;
      dx = x + d[p][0];
      dy = y + d[p][1];
      if (!a[dx][dy][ct][p][t[ct] - 1]) Dfs(dx, dy, ct, p, t[ct] - 1);
    } else if (p == 6) {
      p = 1;
      dx = x + d[p][0];
      dy = y + d[p][1];
      if (!a[dx][dy][ct][p][t[ct] - 1]) Dfs(dx, dy, ct, p, t[ct] - 1);
      p = 2;
      dx = x + d[p][0];
      dy = y + d[p][1];
      if (!a[dx][dy][ct][p][t[ct] - 1]) Dfs(dx, dy, ct, p, t[ct] - 1);
    } else {
      p = 1;
      dx = x + d[p][0];
      dy = y + d[p][1];
      if (!a[dx][dy][ct][p][t[ct] - 1]) Dfs(dx, dy, ct, p, t[ct] - 1);
      p = 3;
      dx = x + d[p][0];
      dy = y + d[p][1];
      if (!a[dx][dy][ct][p][t[ct] - 1]) Dfs(dx, dy, ct, p, t[ct] - 1);
    }
  }
  return;
}
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; ++i) scanf("%d", &t[i]);
  Dfs(152, 152, 0, 0, t[0] - 1);
  printf("%d\n", ans);
  return 0;
}
