#include <bits/stdc++.h>
using namespace std;
const int inf = 1e9 + 5;
const long long linf = 1e18 + 5;
const int N = 1e5 + 5;
long long n, a[N], dpl[N][2], dpr[N][2];
long long l(long long x, bool flag) {
  if (x == 1) return 0;
  long long &ret = dpl[x][flag];
  if (ret != -1) return ret;
  ret = 0;
  if (a[x - 1] >= 2) ret = l(x - 1, 1) + (a[x - 1] - 2) / 2 * 2 + 2;
  if (!flag) ret = max(ret, l(x - 1, 0) + (a[x - 1] - 1) / 2 * 2 + 1);
  return ret;
}
long long r(long long x, bool flag) {
  if (x == n) return 0;
  long long &ret = dpr[x][flag];
  if (ret != -1) return ret;
  ret = 0;
  if (a[x] >= 2) ret = r(x + 1, 1) + (a[x] - 2) / 2 * 2 + 2;
  if (!flag) ret = max(ret, r(x + 1, 0) + (a[x] - 1) / 2 * 2 + 1);
  return ret;
}
int main() {
  ios ::sync_with_stdio(0);
  memset(dpl, -1, sizeof(dpl));
  memset(dpr, -1, sizeof(dpr));
  cin >> n;
  for (int i = 1; i <= n - 1; i++) cin >> a[i];
  long long mx = 0;
  for (int i = 1; i <= n; i++)
    mx = max(mx, max(max(l(i, 0), r(i, 0)),
                     max(l(i, 1) + r(i, 0), r(i, 1) + l(i, 0))));
  cout << mx << '\n';
  0;
  return 0;
}
