#include <bits/stdc++.h>
using namespace std;
bool equalTo(double a, double b) {
  if (fabs(a - b) <= 1e-9) return true;
  return false;
}
bool notEqual(double a, double b) {
  if (fabs(a - b) > 1e-9) return true;
  return false;
}
bool lessThan(double a, double b) {
  if (a + 1e-9 < b) return true;
  return false;
}
bool lessThanEqual(double a, double b) {
  if (a < b + 1e-9) return true;
  return false;
}
bool greaterThan(double a, double b) {
  if (a > b + 1e-9) return true;
  return false;
}
bool greaterThanEqual(double a, double b) {
  if (a + 1e-9 > b) return true;
  return false;
}
long long GCD(long long a, long long b) {
  if (b == 0) return a;
  return GCD(b, a % b);
}
long long LCM(long long a, long long b) { return a * b / GCD(a, b); }
long long POW(long long a, long long p) {
  long long res = 1, x = a;
  while (p) {
    if (p & 1) res = (res * x);
    x = (x * x);
    p >>= 1;
  }
  return res;
}
int N, L, R, num;
vector<long long> evn, odd;
int main() {
  scanf("%d", &N);
  for (int i = 0; i < N; i++) {
    scanf("%d", &num);
    if (num % 2 == 0) {
      evn.push_back(num);
    } else {
      odd.push_back(num);
    }
  }
  L = evn.size();
  R = odd.size();
  sort(odd.begin(), odd.end());
  long long sum = 0;
  for (int i = 0; i < L; i++) {
    sum += evn[i];
  }
  for (int i = 1; i < R; i++) {
    sum += odd[i];
  }
  if (R != 0 && R % 2 == 0) {
    sum += odd[0];
  }
  cout << sum << endl;
  return 0;
}
