#include <bits/stdc++.h>
using namespace std;
int n;
const int maxn = 10000;
int num[maxn + 5];
long long m, k;
void init() {
  memset(num, 0, sizeof(num));
  for (int i = 0; i < n; i++) {
    scanf("%d", &num[i]);
  }
}
void fun() {
  if (n % 2 == 0 || (n + 1) / 2 > m) {
    cout << 0 << endl;
  } else {
    int x = (n + 1) / 2;
    long long beishu = m / x;
    long long maxc = beishu * k;
    for (int i = 0; i < n; i += 2) {
      maxc = min(maxc, (long long)num[i]);
    }
    cout << maxc << endl;
  }
}
int main() {
  while (~scanf("%d %ldd", &n, &m) && ~scanf("%lld", &k)) {
    init();
    fun();
  }
}
