#include <bits/stdc++.h>
using namespace std;
template <class T>
inline void checkmin(T &a, T b) {
  if (b < a) a = b;
}
template <class T>
inline void checkmax(T &a, T b) {
  if (b > a) a = b;
}
template <class T>
inline T gcd(T a, T b) {
  return a == 0 ? b : gcd(b % a, a);
}
template <class T>
inline int countbit(T n) {
  return n == 0 ? 0 : (1 + countbit(n & (n - 1)));
}
template <class T>
inline void pout(T A[], int n) {
  cout << "{";
  for (int i = 0; i < n; i++) cout << A[i] << ", ";
  cout << "}\n";
}
template <class T>
inline void pout(vector<T> A, int n = -1) {
  if (n == -1) n = A.size();
  cout << "{";
  for (int i = 0; i < n; i++) cout << A[i] << ", ";
  cout << "}\n";
}
long long a[10000];
int main() {
  long long i, j, k, n, m;
  cin >> n >> m >> k;
  for (i = 0; i < (n); ++i) cin >> a[i];
  if (n % 2 == 0 || m <= n / 2) {
    cout << 0 << endl;
    return 0;
  }
  long long mx = 1000000000;
  for (i = 0; i < (n); ++i)
    if (i % 2 == 0) checkmin(mx, a[i]);
  long long t = m / ((n + 1) / 2) * k;
  checkmin(t, mx);
  cout << t << endl;
  return 0;
}
