#include <bits/stdc++.h>
using namespace std;
long long max(long long a, long long b) { return a > b ? a : b; }
long long min(long long a, long long b) { return a < b ? a : b; }
string tos(int x) {
  stringstream ss;
  ss << x;
  return ss.str();
}
bool Eq(double a, double b) { return fabs(a - b) <= 1e-10; }
long long two(int a) { return 1LL << a; }
const int NN = 1000 * 11, MAX_N = 309000, MOD = 1e9 + 7;
int s[NN];
int main() {
  int n, m, k;
  cin >> n >> m >> k;
  for (int i = 0; i < n; i++) scanf("%d", &s[i]);
  if (n % 2 == 0) {
    printf("0\n");
    return 0;
  }
  long long ans = 0;
  long long R = (n + 1) / 2;
  int Min = s[0];
  for (int i = 2; i < n; i++)
    if (i % 2 == 0) Min = min(s[i], Min);
  ans = min(Min, (long long)((long long)m / R) * (long long)k);
  cout << ans << endl;
  return 0;
}
