#include <bits/stdc++.h>
using namespace std;
const int INF = 1000000000;
const int MAXN = 10050;
int n, m, k;
int a[MAXN];
char readInput() {
  scanf("%d%d%d", &n, &m, &k);
  int i;
  for ((i) = 0; (i) < (n); ++(i)) scanf("%d", &a[i]);
  return 1;
}
void solve(int testCase = -1) {
  if (n % 2 == 0) {
    puts("0");
    return;
  }
  int mn = INF;
  int i;
  for (i = 0; i < n; i += 2) mn = min(mn, a[i]);
  int atom = n / 2 + 1;
  int single = m / atom;
  int ans = (int)min((long long)single * (long long)k, (long long)mn);
  printf("%d\n", ans);
}
int main() {
  if (0)
    while (readInput()) solve();
  else if (0) {
    int i, testCount;
    scanf("%d", &testCount);
    for ((i) = 0; (i) < (testCount); ++(i)) {
      readInput();
      solve(i);
    }
  } else {
    readInput();
    solve();
  }
  return 0;
}
