#include <bits/stdc++.h>
using namespace std;
long long n;
const long long maxn = 1e5 + 10;
long long a[maxn];
long long d1[maxn][2], d2[maxn][2], ou[maxn][2];
signed main() {
  cin >> n;
  n--;
  for (long long i = 1; i <= n; ++i) cin >> a[i];
  d2[0][0] = 0;
  d1[0][0] = 0;
  for (long long i = 1; i <= n; ++i) {
    if (a[i] & 1) {
      if (a[i] == 1)
        d2[i][0] = 0;
      else
        d2[i][0] = d2[i - 1][0] + a[i] - 1;
      d1[i][0] = d1[i - 1][0] + a[i];
    } else {
      d2[i][0] = d2[i - 1][0] + a[i];
      d1[i][0] = max(d1[i - 1][0] + a[i] - 1, d2[i - 1][0] + a[i]);
    }
  }
  d2[n][1] = 0;
  d1[n][1] = 0;
  for (long long i = n - 1; i >= 0; --i) {
    if (a[i + 1] & 1) {
      if (a[i + 1] == 1)
        d2[i][1] = 0;
      else
        d2[i][1] = d2[i + 1][1] + a[i + 1] - 1;
      d1[i][1] = d1[i + 1][1] + a[i + 1];
    } else {
      d2[i][1] = d2[i + 1][1] + a[i + 1];
      d1[i][1] = max(d1[i + 1][1] + a[i + 1] - 1, d2[i + 1][1] + a[i + 1]);
    }
  }
  long long ans = max(d1[n][0], d1[0][1]);
  for (long long i = 1; i < n; ++i) {
    ans = max(ans, max(d1[i][0] + d2[i][1], d2[i][0] + d1[i][1]));
  }
  cout << ans;
  return 0;
}
