#include <bits/stdc++.h>
using namespace std;
int n, w;
int save[200005];
double findmin(double a, double b) {
  if (a < b) return a;
  return b;
}
int main() {
  double d, e, f, temp, ans;
  int c, a, b;
  while (cin >> n >> w) {
    ans = 0;
    for (c = 0; c < 2 * n; c++) {
      cin >> save[c];
    }
    sort(save, save + 2 * n);
    a = 2 * save[0];
    b = save[n];
    if (a > b) {
      temp = (double)b / 2;
      ans = temp * n + b * n;
    } else {
      temp = (double)a / 2;
      ans = temp * n + a * n;
    }
    if (ans > w) {
      ans = w;
    }
    cout << fixed << setprecision(10) << ans << endl;
  }
  return 0;
}
