#include <bits/stdc++.h>
using namespace std;
template <typename T, typename TT>
ostream& operator<<(ostream& s, pair<T, TT> t) {
  return s << "(" << t.first << "," << t.second << ")";
}
template <typename T>
ostream& operator<<(ostream& s, vector<T> t) {
  for (int i = 0; i < t.size(); i++) s << t[i] << " ";
  return s;
}
int a[10010];
int main() {
  int m, i, j, T, k, n;
  while (~scanf("%d%d%d", &n, &m, &k)) {
    for (i = 0; i < n; i++) scanf("%d", &a[i]);
    if (m < (n + 1) / 2 || n % 2 == 0) {
      puts("0");
      continue;
    }
    int t = m / ((n + 1) / 2);
    if (n == 1) {
      long long ans = min((long long)a[0], (long long)k * m);
      printf("%I64d\n", ans);
      continue;
    }
    int first;
    {
      first = 1001001001;
      for (i = 0; i < n; i += 2) first = min(first, a[i]);
    }
    long long ans = min((long long)first, (long long)k * t);
    printf("%I64d\n", ans);
  }
  return 0;
}
