#include <bits/stdc++.h>
using namespace std;
int n, w;
int half;
int port[200005];
bool ok(double k) {
  if (k * half + k * half * 2 > w) return false;
  for (int i = 0; i < half; ++i) {
    if (port[i] < k) return false;
  }
  k *= 2;
  for (int i = half; i < n; ++i) {
    if (port[i] < k) return false;
  }
  return true;
}
int main() {
  scanf("%d%d", &half, &w);
  n = half << 1;
  for (int i = 0; i < n; ++i) scanf("%d", &port[i]);
  sort(port, port + n);
  double left = 0;
  double right = w / (double)n + 1;
  int cnt = 0;
  while (cnt++ != 100) {
    double mid = (left + right) / 2;
    if (ok(mid)) {
      left = mid;
    } else {
      right = mid;
    }
  }
  printf("%.10f\n", left * half + left * half * 2);
  return 0;
}
